我现有的Django应用程序在我的MacBook上本地运行。它的目录结构如下所示:
myproject/
mySite/
__init__.py
settings.py
urls.py
wsgi.py
myApp1/
__init__.py
models.py
views.py
manage.py
requirements.txt
到目前为止,我一直在使用Django玩具网络服务器来运行我的应用程序:./manage.py runserver 0.0.0.0:8000
。但现在我想使用gunicorn代替。所以我按照说明here。
我做source myVirtualenv/bin/activate && cd myproject && gunicorn mySite.wsgi
。我收到以下错误:
File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "myproject/MyApp2/models.py", line 11, in <module>
from caching.base import CachingManager, CachingMixin
ImportError: No module named caching.base
当我从同一位置运行./manage.py runserver 0.0.0.0:8000
时,它的效果非常好。
为什么呢?难道我做错了什么? Django-Cache-Machine不能与Gunicorn / WSGI一起使用吗?如何解决这个问题?
答案 0 :(得分:2)
要使用gunicorn运行项目,请尝试以下操作:
gunicorn mySite.wsgi:application --bind 127.0.0.1:8000
如果命令工作正常,那么我的设置就好了。否则,请尝试以下教程。在为生产设置新项目时,我总是自己使用本教程。试试吧。 Setting up Django with Nginx, Gunicorn and Supervisor
答案 1 :(得分:1)
你似乎已经全局安装了gunicorn而不是virtualenv,因此可执行文件指向全局Python及其site-packages目录,而不是virtualenv中的目录。在本地重新安装gunicorn。