озадачен ошибками импорта модуля WSGI

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

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

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

sys.path.insert(0, '/Библиотека/Python/2.5/сайт-пакеты/')

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

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


person rguha    schedule 27.05.2010    source источник
comment
Не удается импортировать? Мы должны догадаться как?   -  person Ignacio Vazquez-Abrams    schedule 27.05.2010
comment
Спасибо Garaham & nailxx - это действительно был случай двух отдельных установок Python и необходимых пакетов в том, который я не использовал.   -  person rguha    schedule 28.05.2010


Ответы (2)


Читать:

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 — это конкретная реализация хостинга. Вы не должны использовать термины взаимозаменяемо.

person Graham Dumpleton    schedule 27.05.2010
comment
Спасибо. Это очень полезный ответ. +1. - person Faheem Mitha; 03.04.2011

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

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