озадачен ошибками импорта модуля WSGI - PullRequest
2 голосов
/ 27 мая 2010

Я пишу голое приложение Python для wsgi и получаю тупик из-за ошибок при импорте модулей. У меня есть файл .py в текущем каталоге, который изначально не удалось импортировать. Добавляя

sys.path.insert (0, '/ Users / guhar / Sites / acom')

импорт модуля работал. Но теперь я пытаюсь импортировать модуль, который я установил через easy_install, и он не может импортировать. Я попытался установить

sys.path.insert (0, '/Library/Python/2.5/site-packages/')

, который содержит файл яйца, но безрезультатно. Я бы подумал, что все пакеты в "/Library/Python/2.5/site-packages/" будут доступны для приложения WSGI.

У кого-нибудь есть указатели?

Ответы [ 2 ]

5 голосов
/ 27 мая 2010

Читать:

http://code.google.com/p/modwsgi/wiki/VirtualEnvironments

Вы не можете просто добавить каталоги модулей Python, содержащие файлы .pth, в sys.path. Вы должны использовать site.addsitedir () или использовать другие опции mod_wsgi, чтобы он использовал виртуальную среду.

Я думаю, что, возможно, учитывая, что похоже, что вы используете MacOS X, что вы установили вторую установку Python, и то, что использует mod_wsgi, не является той версией, в которую вы установили ваши пакеты. Эта или ваша вторая установка Python не работает, что часто бывает в MacOS X.

Кстати, я предполагаю, что когда вы говорите WSGI, вы на самом деле имеете в виду mod_wsgi, учитывая используемый вами тег. Если вы это сделаете, пожалуйста, не используйте WSGI для ссылки на mod_wsgi. WSGI - это только спецификация, mod_wsgi - это конкретная реализация хостинга. Вы не должны использовать термины взаимозаменяемо.

1 голос
/ 27 мая 2010

Если вы работаете в Apache mod_wsgi, укажите все необходимые пути Python в конфигурации вашего виртуального хоста, например:

WSGIDaemonProcess ... python-path=/srv/lala/www:/srv/lala/lib/python2.6/site-packages:/Library/Python/2.5/site-packages
...