我有一个名为subscribe的应用程序的Django项目.在root urls.py中,我使用来自subscribe的urls.py中的include.
我把订阅的INSTALLED_APPS订阅了,在订阅的urls.py中我使用了subscribe.views.< name>打电话给我的意见.当服务器在本地运行python manage.py runserver时,一切正常.但是当服务器使用virtualenv在Nginx uwsgi上运行时,我有ImportError:没有名为subscribe的模块.
当我更改订阅到INSTALLED_APPS中的project.subscribe和订阅的urls.py时,更改subscribe.views.< name> to project.subscribe.views.< name>一切正常.
uwsgi配置:
[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
为什么我应该使用绝对路径导入以及如何使用virtualenv将其更改为Nginx uwsgi的相对位置?@H_404_18@
最佳答案@H_404_18@
你的uwsgi配置应该包含pythonpath = / path / where / lives / settings.py / directive,这样python interpreter就会知道在哪里可以找到你的应用.
有关uwsgi配置选项的更多信息:
> http://projects.unbit.it/uwsgi/wiki/Doc
> http://projects.unbit.it/uwsgi/wiki/Example@H_404_18@