virtualenvwrapper и Python 3


Я установил python 3.3.1 на ubuntu lucid и успешно создал virtualenv, как показано ниже

virtualenv envpy331 --python=/usr/local/bin/python3.3

это создало папку envpy331 на моем домашнем каталоге.

у меня тоже virtualenvwrapper установлен.Но в документах только 2.4-2.7 версии python поддерживаются..Кто-нибудь пытался организовать python3 virtualenv ? Если да, то можете ли вы сказать мне, как это сделать ?

8 91

8 ответов:

The последняя версия virtualenvwrapper протестирован под Питон3.2. Скорее всего, это будет работать с Python3. 3 тоже.

Если у вас уже установлен python3, а virtualenvwrapper единственное, что вам нужно сделать, чтобы использовать python3 с виртуальной средой, - это создать среду с помощью:

which python3 #Output: /usr/bin/python3
mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment

или, (по крайней мере, на OSX с помощью brew):

mkvirtualenv --python=`which python3` nameOfEnvironment

начните использовать среду, и вы увидите, что как только вы наберете python, вы начнете использовать python3

вы можете заставить virtualenvwrapper использовать пользовательский двоичный файл Python вместо того, с которым запускается virtualenvwrapper. Для этого вам нужно использовать переменную VIRTUALENV_PYTHON, которая используется virtualenv:

$ export VIRTUALENV_PYTHON=/usr/bin/python3
$ mkvirtualenv -a myproject myenv
Running virtualenv with interpreter /usr/bin/python3
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
(myenv)$ python
Python 3.2.3 (default, Oct 19 2012, 19:53:16) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

virtualenvwrapper теперь позволяет указать исполняемый файл python без пути.

Итак (по крайней мере на OSX)mkvirtualenv --python=python3 nameOfEnvironment хватит.

на Ubuntu; с помощью mkvirtualenv -p python3 env_name загружает virtualenv с python3.

внутри env, используйте python --version чтобы проверить.

Я считаю, что работает

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

и

export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv-3.4

в командной строке на Ubuntu заставляет mkvirtualenv использовать python3 и virtualenv-3.4. Нужно еще сделать

mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment

для создания окружающей среды. Это предполагает, что у вас есть python3 в /usr/bin/python3 и virtualenv-3.4 в /usr/local/bin/virtualenv-3.4.

вы можете добавить это к вашему .bash_profile или похожие:

alias mkvirtualenv3='mkvirtualenv --python=`which python3`'

затем использовать mkvirtualenv3 вместо mkvirtualenv Если вы хотите создать среду python 3.

этой post на Bitbucket issue tracker of virtualenvwrapper может быть интересна. Там упоминается, что большинство функций virtualenvwrapper работают с venv виртуальные среды в Python 3.3.