Найти - Пользователи
Полная версия: Как заставить сервер по умолчанию использовать Python3
Начало » Python для новичков » Как заставить сервер по умолчанию использовать Python3
1
in
Сломал голову, разбираясь в настройках апача для решения казалось бы такой простой задачи. Уже подумываю о том, чтобы тупо перейти на uWSGI который позволяет при заупуске явно указать виртуальное окружение, но хочу попробовать все таки добить эту тему именно с апачем.

Я учу Питон всего месяц, до этого хорошо знал только клиентские языки программирования actionscript и javascript Очень надеюсь на вашу помощь. Итак первое что мне не совсем понятно это, как собственно заставить апач запускать питон с конкретного виртуального окружения. Насколько я понял из слайдов с одной австралийской конференции чтобы вся система работала именно с виртуальным окружением его нужно активировать. После автивации при запуске python я вижу что система работает именно с установленным в виртуальном окружении питоном ios.prefix также укрепляет мою уверенность в правильном понимании происходящего. Но почему тогда апач после рестарта продолжает запускать с питоном указанном в PYTHONHOME

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

Вообщем моя задача на данном этапе любым доступным способом заставить апач работать с третьим питоном по возможности не меняя PYTHONHOME и PYTHONPATH и если уж ничего не поможет то тогда поменять эти переменные, но так чтобы ничего не поломалось

lorien
Вы бы для начала написали, что у вас за ОС. Далее, как именно вы пытаетесь работать с python из apache: mod_python или mod_wsgi?
in
У меня убунту 12.04 mod_wsgi

Еще добавлю что виртуальное окружение находится по следующему абсолютному пути : /virtualenvs/simpleboard
lorien
Может быть, это поможет: http://code.google.com/p/modwsgi/wiki/VirtualEnvironments
plusplus
in
У меня убунту 12.04 mod_wsgiЕще добавлю что виртуальное окружение находится по следующему абсолютному пути : /virtualenvs/simpleboard

Ставишь python3 в виртуальное окружение, потом в wsgi файле, который нужен для запуска добавляешь в самый верх эти две строчки

activate_this = '/virtualenvs/simpleboard/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

Потом в апаче нужно добавить что-то вроде
WSGIScriptAlias / /путь до wsgi файла/index.wsgi

Вот реализация для фласка http://flask.pocoo.org/docs/deploying/mod_wsgi/
in
plusplus

Благодарю покорно, у меня по какой-то причине все это не сработало и я в итоге перекомпомпилировал mod_wsgi
SoT
Может на внешнем сервере всё немного подругому но на локальном компьютере при создании виртуального окружения можно передать параметром -p версию питона которая будет использоваться в проекте :
virtualenv -p /usr/bin/python2.7
А вот ссылочка как создавать несколько виртуальных окружений и активировать их http://blog.102web.ru/howto/django-virtualenv/ ( пригодиться для экспериментов )
plusplus
SoT
А вот ссылочка как создавать несколько виртуальных окружений и активировать их http://blog.102web.ru/howto/django-virtualenv/ ( пригодиться для экспериментов )

Сам так раньше делал, но проще, мне кажется, пакетом поставить virtualenvwrapper сразу (sudo apt-get install virtualenvwrapper), и сразу использовать команды workon, mkvirtualenv и т.д., без редактирования скриптов.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB