Django Gunicorn ImportError:没有名为django.core.wsgi的模块

问题描述 投票:6回答:1

我已经创建了Django应用程序,但是现在计划在站点的某些区域中使用一些异步(实时)功能。经过研究后,我认为我应该使用gevent-socketio,因此需要将应用程序服务器切换为Gunicorn

我已经不愿部署Gunicorn了,我已经安装了命令sudo apt-get install gunicorn,并尝试使用gunicorn project.wsgi:application运行我的应用程序,但是它失败并产生以下错误:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 473, in spawn_worker
    worker.init_process()
  File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 100, in init_process
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 115, in wsgi
    self.callable = self.load()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 33, in load
    return util.import_app(self.app_uri)
  File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 362, in import_app
    __import__(module)
  File "/home/alex/django_projects/fantasymatchday_1/fantasymatchday_1/wsgi.py", line 13, in <module>
    from django.core.wsgi import get_wsgi_application
ImportError: No module named django.core.wsgi
2014-11-20 17:31:45 [6605] [INFO] Worker exiting (pid: 6605)
2014-11-20 17:31:45 [6600] [INFO] Shutting down: Master
2014-11-20 17:31:45 [6600] [INFO] Reason: Worker failed to boot.

任何人都可以提供我从这里开始需要做什么的线索吗?

我正在使用python 3.4.0和Django 1.6

django gunicorn django-settings
1个回答
3
投票

您必须在相同的环境中安装djangogunicorn。如果使用virtualenv,请确保两者都在同一个虚拟环境中。


0
投票

如此处和其他地方所指出,错误消息所指出的问题的根源是gunicorn无法找到django模块。问题就变成了为什么会这样,并且可能有很多不同的原因。就我而言,在没有virtualenv的Ubuntu仿生主机上,原因是我安装了python3-django和gunicorn(后者是python2软件包)。

解决方案是安装python3-gunicorn,删除gunicorn并以gunicorn3身份运行gunicorn。

© www.soinside.com 2019 - 2024. All rights reserved.