Как использовать Python virtualenv - PullRequest
10 голосов
/ 23 апреля 2011

Сценарий таков: я нахожусь на Ubuntu 11, который поставляется с Python 2.7, я хочу запустить Mozilla JetPack, который поддерживает Python 2.5 / 2.6, и Google App Engine, который поддерживает только Python 2.5.

Прочитайте, что не стоит удалять Python 2.7, так как Ubuntu может его использовать. Поэтому правильный способ - использовать virtualenv. Но я совершенно заблудился, используя его. Я установил Python 2.5 в /usr/local/python25 после этого руководства

Я пытался

jiewmeng@JM:/usr/local/python25/bin$ ./python --version
Python 2.5.5
jiewmeng@JM:/usr/local/python25/bin$ ./python virtualenv /works/tmp/test
./python: can't open file 'virtualenv': [Errno 2] No such file or directory

тогда ниже работает, но я буду использовать Python 2.7

jiewmeng@JM:/usr/local/python25/bin$ virtualenv /works/tmp/test
New python executable in /works/tmp/test/bin/python
Installing distribute.................................................................................................................................................................................done.
jiewmeng@JM:/usr/local/python25/bin$ cd /works/tmp/test/bin
jiewmeng@JM:/works/tmp/test/bin$ ls
activate  activate_this.py  easy_install  easy_install-2.7  pip  python
jiewmeng@JM:/works/tmp/test/bin$ ./python --version
Python 2.7.1+

Кроме того, как мне запустить Mozilla JetPack или Google App Engine с этой версией Python? Извините, я новичок в Python (и Linux / Ubuntu)

Ответы [ 2 ]

15 голосов
/ 23 апреля 2011

Структура:

  • Первый компакт-диск для /usr/local/python25/bin
  • Загрузить setuptools для Python2.5 ( setuptools-0.6c11-py2.5.egg )
  • Установите его (sh setuptools-0.6c11-py2.5.egg).
  • Теперь установите pip (easy_install pip).
  • Установите virtualenv и virtualenvwrapper, используяpip (pip install v... и т. д.).
  • Настройте WORKON_HOME для работы оболочки virtualenv (export WORKON_HOME = $HOME/.virtualenvs).Вы можете использовать любой другой каталог, который вам нужен (не только $ HOME / .virtualenvs).Просто убедитесь, что вы используете полный путь.
  • Теперь создайте virtualenv (mkvirtualenv foobar).
  • Переключитесь на новый virtualenv (workon foobar).
  • Теперь установитеGAE, JetPack и все, что вы хотите, используя pip install blah

Почему ваша установка не работает?

Похоже, вы не установили virtualenv для Python2.5,Следовательно, это не будет работать.

jiewmeng@JM:/usr/local/python25/bin$ ./python virtualenv /works/tmp/test

Вы можете проверить, запустив команду ls в этом каталоге.Я подозреваю, что вы не найдете там файла virtualenv.

Однако это сработало для вас.

jiewmeng@JM:/usr/local/python25/bin$ virtualenv /works/tmp/test

Поскольку он использует файл virtualenv для системного Python2.7 по умолчанию.Вы можете проверить which virtualenv и открыть скрипт virtualenv.Вы увидите, что #!будет указывать на системный Python по умолчанию.

Так что вам нужно установить easy_install и pip для Python 2.5, прежде чем вы сможете создать virtualenv для Python 2.5.Просто следуйте инструкциям, описанным выше.

2 голосов
/ 09 апреля 2012

Вам не нужно делать что-то необычное за пределами оболочки virtualenv. Просто используйте флаг --python=python2.5 (см. Справочную страницу для формы virtualenv подробнее). Неважно, с какой версией вы его устанавливаете, вам просто нужно выбрать подходящий исполняемый файл для python в виртуальной среде.

например. mkvirtualenv --python=python2.5 --distribute python25 если флаг python терпит неудачу, либо добавьте символическую ссылку (ln -s) к python25 в вашем $ PATH, либо используйте полное имя пути для флага python.

Кроме того, по умолчанию для нескольких установок python для всех версий 'altinstall' должен быть отдельный python и easy_install. Так, например: python2.5, easy_install-2.5, python2.6, easy_install-2.6 и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...