2014-06-09 2 views
0

Je migre mon site Web de Mezzanine à Wagtail en cours d'exécution sur une machine Debian en utilisant virtualenv, mais après avoir installé Wagtail, les permissions de l'utilisateur et la source lorsque j'exécute # gunicorn_django dans le dossier wagtail j'obtiens l'erreur suivante message:Gunicorn ne reconnaît pas Wagtail CMS

Traceback (most recent call last): 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker 
    worker.init_process() 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process 
    self.wsgi = self.app.wsgi() 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi 
    self.callable = self.load() 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/djangoapp.py", line 102, in load 
    make_default_env(self.cfg) 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/djangoapp.py", line 62, in make_default_env 
    raise RuntimeError("django project not found") 
RuntimeError: django project not found 
Traceback (most recent call last): 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker 
    worker.init_process() 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process 
    self.wsgi = self.app.wsgi() 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi 
    self.callable = self.load() 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/djangoapp.py", line 102, in load 
    make_default_env(self.cfg) 
    File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/djangoapp.py", line 62, in make_default_env 
    raise RuntimeError("django project not found") 
RuntimeError: django project not found 
2014-06-09 10:41:27 [2774] [INFO] Worker exiting (pid: 2774) 
2014-06-09 10:41:28 [2769] [INFO] Shutting down: Master 
2014-06-09 10:41:28 [2769] [INFO] Reason: Worker failed to boot. 

Pour autant que je sais que je ne faisais rien différent de ma configuration mezzanine, et je sais que Django est Bergeronnette également basé. Quelqu'un sait où le problème pourrait être?

Répondre

4

gunicorn_django est deprecated since Gunicorn 18. Si possible, vous devez utiliser l'interface WSGI avec Django. Voir le Django with Gunicorn docs. Cependant, cela dit, en utilisant gunicorn_django où les paramètres ne sont pas dans settings.py mais dans un module, vous devriez pouvoir le faire fonctionner en spécifiant le chemin pointé vers le fichier de paramètres pertinent - par exemple. dans votre dossier mywagtailproject, le fichier mywagtailproject/settings/production.py (notez que votre dossier mywagtailproject aura un sous-dossier mywagtailproject nom identique):

gunicorn_django --settings=mywagtailproject.settings.production --pythonpath=/pathto/mywagtailproject 

Vous pouvez ou pas besoin de définir l'argument --pythonpath.

+0

Merci pour la réponse, je commence à comprendre le problème, mais comment pourrais-je obtenir ce projet sur mon pythonpath? Je reçois l'erreur 'Aucun module nommé wagtaildemo.settings.production' maintenant et je n'ai aucune idée de la façon de le faire savoir où chercher ces données. Le fichier production.py existe dans le dossier 'pathto/wagtail/wagtail/settings /'. – Samuel

+0

Vous aurez un problème si vous avez appelé votre projet «wagtail», car cela va confondre la recherche de chemin de Python parce que l'application Wagtail (installée dans des sites-packages avec pip) s'appelle wagtail. Vous voulez que votre projet s'appelle quelque chose d'autre - comme wagtaildemo. Dans ce cas, il doit y avoir un sous-répertoire du même nom contenant le répertoire settings. C'est à dire. Si le chemin de production.py est 'pathto/wagtaildemo/wagtaildemo/settings' alors python trouvera le module' wagtaildemo.setting.production'. – nealtodd

+0

Il n'est pas nommé Wagtail, peut-être un mauvais exemple à utiliser, il est en effet nommé wagtaildemo (le dossier) mais le dossier implique-t-il le nom du projet? ou existe-t-il une variable quelque part pour définir le nom du projet? Merci! – Samuel