Работает с использованием сервера разработки Django, но выдает ошибку импорта с Apache, используя mod_wsgi - PullRequest
1 голос
/ 31 января 2010

У меня есть проект Django, который отлично работает с сервером разработки, который поставляется вместе с ним.

Никаких ошибок не возникает, когда я использую «django manage.py runserver» и приложение работает нормально, но когда я пытаюсь использовать его с mod_wsgi и Apache, браузер отображает «Внутренняя ошибка сервера» с кодом ошибки 500 и он генерирует ошибку импорта в журнале ошибок Apache.

Вот ошибка в журнале:

ImportError: Нет модуля с именем регистрации

Я использую модуль регистрации Django, который находится по следующему пути:

/opt/raj/photos/registration

Я знаю, что приложение регистрации находится в пути, потому что я могу запустить оболочку Python, импортировать sys и получить список путей, используя sys.path.

Вот несколько путей, выводимых из оболочки Python:

sys.path ['', '/ opt / raj / pyamf', '/ opt / raj', '/ opt / raj / pictures', '/ opt / raj / pictures / registration', '/usr/lib/python2.6' ....]

Любые мысли приветствуются.

1 Ответ

2 голосов
/ 31 января 2010

Это в pythonpath для веб-сервера? Все эти пути '/ opt' обычно не входят в стандартный путь Python, поэтому я думаю, что кто-то добавляет их для вас. Вы уверены, что он также добавляется для процесса веб-сервера, или PYTHONPATH установлен в некотором конфигурационном файле оболочки где-то только для вашего пользователя?

При использовании mod_python существует директива PythonPath, есть ли что-то похожее для mod_wsgi?

Это почти наверняка случай, когда путь к веб-серверу не совпадает с вашим, поэтому я бы сосредоточился на поиске в этих областях.

...