Django uwsgi导入错误

我有一个名为subscribe应用程序的Django项目。 在根urls.py我使用包含从subscribeurls.py

我把INSTALLED_APPS subscribesubscribeurls.py我使用subscribe.views.<name>来呼叫我的意见。 当服务器作为本地python manage.py runserver运行正常。 但是,当服务器运行在nginx + uwsgivirtualenv,我有ImportError: No module named subscribe 。 当我改变subscribe project.subscribeINSTALLED_APPSsubscribeurls.py改变subscribe.views.<name> project.subscribe.views.<name>一切正常。

uwsgiconfiguration:

 [uwsgi] socket = 127.0.0.1:9003 workers = 2 master = true virtualenv = /home/user/python chdir = /home/user env = DJANGO_SETTINGS_MODULE=project.settings module = django.core.handlers.wsgi:WSGIHandler() daemonize = /home/user/uwsgi.log 

为什么我应该使用绝对path导入,以及如何使用virtualenv将其更改为相对于nginx + uwsgi?

你的pythonpath=/path/where/lives/settings.py/配置文件应该包含pythonpath=/path/where/lives/settings.py/ directive,这样python解释器就会知道在哪里可以找到你的应用程序。

查找更多关于uwsgi配置选项的信息: