ошибка импорта uwsgi + django

У меня проблема, когда я использую django с uwsgi с pythonpath.

У меня есть проект django с именем «project», который находится в каталоге /sites/django/

Итак, чтобы запустить uwsgi, я использую эту команду:

/opt/uwsgi/uwsgi -s 127.0.0.1:9001 -C -M 4 -t 30 -A 4 -p 4 -d /var/log/uwsgi.log --pythonpath '/sites/django/project/' --module wsgi

Если я нахожусь в /sites/django/project, это работает.

Если я запускаю оболочку Python и пишу:

import sys
sys.path.append('/sites/django/project/')
import wsgi

Это тоже работает.

Но когда я запускаю команду uwsgi вне /sites/django/project/, у меня возникает ошибка:

ImportError: Нет модуля с именем wsgi

Поэтому я не знаю, почему у меня ImportError: он работает в оболочке.

Если у кого есть идеи, спасибо.

Что ж, я нашел ответ, похоже, это ошибка, и я должен добавить опцию «-i» (режим одного интерпретатора) в свою команду.


person whynot    schedule 12.08.2010    source источник


Ответы (2)


документация предлагает две возможности.

Во-первых, удалите одинарные кавычки из аргумента пути python. Во-вторых, примеры на связанной странице имеют --python-path вместо --pythonpath (хотя индекс в верхней части страницы говорит об обратном). Стоит попытаться.

person ars    schedule 12.08.2010
comment
спасибо, но python-path не распознается и без кавычек делает то же самое - person whynot; 12.08.2010

если вы используете виртуальную среду, вам нужно передать флаг -H ( http://projects.unbit.it/uwsgi/wiki/VirtualEnv )

person Jonathan Vanasco    schedule 07.06.2012