Django UWSGI ошибка импорта - PullRequest
       17

Django UWSGI ошибка импорта

7 голосов
/ 23 ноября 2011

У меня есть проект Django с одним приложением под названием subscribe. В корне urls.py я использую include от subscribe s urls.py.

Я ставлю на INSTALLED_APPS subscribe, а в subscribe urls.py я использую subscribe.views.<name> для вызова моих просмотров. Когда сервер работает как python manage.py runserver локально, все работает нормально. Но когда сервер работает на nginx + uwsgi с virtualenv, я получаю ImportError: No module named subscribe. Когда я меняю subscribe на project.subscribe в INSTALLED_APPS и в subscribe urls.py, меняя subscribe.views.<name> на project.subscribe.views.<name>, все работает нормально.

uwsgi config:

[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

Почему я должен использовать абсолютный импорт пути и как я могу изменить его на относительный обратно в nginx + uwsgi с помощью virtualenv?

1 Ответ

8 голосов
/ 29 ноября 2011

Ваша конфигурация uwsgi должна включать директиву pythonpath=/path/where/lives/settings.py/, чтобы интерпретатор python знал, где найти ваши приложения.

Найти дополнительную информацию о параметрах конфигурации uwsgi:

...