Конфигурация развертывания Django virtualenv

Недавно я начал использовать virtualenvwrapper и создал

mkdir ~/.virtualenvs
mkvirtualenv example.com

Virtualenvwarpper автоматически создает виртуальную среду с именем example.com в папке ~/.virtualenv, так что это центральный контейнер для всех виртуальных виртуальных машин. После этого я установил django и некоторые другие пакеты через pip, и мой сайт находится по адресу

 /srv/www/example.com/public_html/

Должен ли я помещать свой сайт в ~/.virtualenv/example.com, если нет, как я могу использовать мой виртуальный файл example.com с моим сайтом в /srv/www/example.com/public_html. Не могли бы вы показать мне конфигурацию apache mod_wsgi для этого развертывания? Спасибо


person Gok Demir    schedule 11.08.2010    source источник


Ответы (2)


Читать:

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

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

person Graham Dumpleton    schedule 11.08.2010
comment
Это работало хорошо для меня, но только тогда, когда я понял, что мне нужны обе части, даже если я хочу использовать свой базовый виртуальный сервер для своего приложения. Таким образом, вы должны установить WSGIPythonHome /usr/local/pythonenv/BASELINE в глобальной конфигурации apache, а затем вы должны ТАКЖЕ добавить команду site.addsitedir в начало вашего сценария .wsgi, даже если вы планируете использовать свой базовый уровень. Документы ссылаются на python libs с 2.5, но, вероятно, теперь они для вас 2.6: site.addsitedir('/usr/local/pythonenv/BASELINE/lib/python2.6/site-packages') - person Professor Falken; 13.06.2012
comment
Вам не нужно делать это в обоих местах. Что-то еще не так, если вам пришлось это сделать. - person Graham Dumpleton; 14.06.2012

В вашем сценарии WSGI:

import site
site.addsitedir('/home/username/.virtualenvs/example.com/lib/python2.5/site-packages')

(Настройте в соответствии с вашей версией Python и т. д.)

person Ben James    schedule 11.08.2010
comment
Этого не достаточно. См. ответ Грэма. - person Yuval Adam; 08.10.2011