2014-02-09 4 views
1

Я пытаюсь создать веб-сайт с использованием Python (2.7), flask, apache2, mod_wsgi и виртуальной среды Enthought Canopy (созданной с помощью интерфейса командной строки , который поставляется с Canopy). Я уже делал это раньше, и живая версия на Dreamhost, похоже, отлично работает с их шпионажами eas_wsgi.виртуальная среда canopy enthought wsgi

Я пытаюсь создать сервер разработки на своем старом ноутбуке дома. У меня в Вене установлен такой же способ. Я не знаю, что нужно вставить в файл WSGI, чтобы он использовал эту виртуальную среду. Для нормальной виртуальной среды в каталоге env/bin/есть скрипт «activate_this.py», но в Canopy venv нет.

На Dreamhost, они предлагают использовать этот синтаксис в файле WSGI:

INTERP = os.path.join(os.environ['HOME'], 'project', 'env', 'bin', 'python') 

if sys.executable != INTERP: 
    os.execl(INTERP, INTERP, *sys.argv) 
sys.path.append(os.getcwd()) 

Который работает отлично в passenger_wsgi, но когда я запускаю его на моем Dev сервере с mod_wsgi я получаю ошибку:

Premature end of script headers: dev.wsgi

/home/user/project/env/bin/python: can't open file 'mod_wsgi': [Errno 2] No such file or directory

Итак, я полагаю, что мой выбор заключается в том, чтобы использовать virtualenv для создания нормальной виртуальной среды на dev-сервере (у которого был бы скрипт activate_this.py, который можно было бы активировать обычным способом), или узнать, как настроить пассажир_wsgi на моем доме машина.

То есть, если кто-то не сделал это раньше, и может сказать, как получить сайт wsgi script/flask для запуска в виртуальной среде Canopy?

ответ

2

Go следующим образом:

Модуль mod_wsgi под Apache использует Python в качестве встроенной системы, она просто не имеет никакого смысла делать os.execl(). Также не имеет смысла использовать os.getcwd(), поскольку рабочий каталог не будет там, где находится ваш исходный код.

В любом случае прочитайте эту ссылку о том, как настроить виртуальные среды в Apache/mod_wsgi.

+0

Также: см. Https://support.enthought.com/entries/21802240-Use-venv-not-virtualenv-with-Canopy-Python –

Смежные вопросы