uwsgi-не использовать python2.7.3 от virtualenv, но с использованием 2.6 от venv, хотя 2.6 установлен только глобально

моя система (ubuntu) имеет версию python 2.6.5 (глобально установленную в /usr/bin/).
Я хочу использовать Python 2.7.3 .
Для этого я попытался создать virtualenv, используя этот ответ можно ли установить другую версию Python в Virtualenv? (не делал никакой simlinking из ответов) . Мне это удалось, и когда я активировал env и использовал 'python manage.py shell' это сработало отлично .

проблема в : Мы используем uwsgi для запуска сервера . До сих пор мы непосредственно используют общесистемный python (2.6.5). Поскольку я установил все новое в virtualenv, я добавил опцию

'-H /path/to/virtualenv' 

при запуске сервера uwsgi.

Я получил ошибку "нет модуля с именем" os "" при выполнении строки "импорт ОС". (Найдена ошибка из журналов ошибок)

Итак, я добавил import sys; print sys.команды пути перед командой "импорт ОС". Затем, когда он напечатал путь, у него было что-то вроде :

 /home/name/venv/bin/python/lib/python2.6/  #(one of the items in the array sys.path)

но, когда я посмотрел на свою папку venv, нет ничего похожего на python2.6 в папке "lib". , Моя папка lib venv содержит только ' python2.7' .

мое требование заключается в том , что uwsgi должен использовать python 2.7(venv), а не 2.6 (global).

кроме того, в моем файле sh я использовал команду "which python", которая показала мне, что она использует глобальную версию. Итак, я должен сначала сказать файлу оболочки использовать python из virtualenv, а не глобальный по умолчанию. Я попытался "source / path/to / activate", но сказал команда не найдена.

1 ответов


  1. активировать virtualenv,
  2. установить uwsgi: pip install uwsgi
  3. запустить uwsgi из virtualenv.