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 ответов

Решение

Последняя версия virtualenvwrapper протестирована под Python3.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.

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

Внутри env используйте python --version проверять.

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

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

Тогда используйте mkvirtualenv3 вместо mkvirtualenv когда вы хотите создать среду Python 3.

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

Итак (по крайней мере на OSX)mkvirtualenv --python=python3 nameOfEnvironment будет достаточно.

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

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.

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

Я добавил export VIRTUALENV_PYTHON=/usr/bin/python3 к моему ~/.bashrc нравится:

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENV_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

затем беги source .bashrc

и вы можете указать версию python для каждого нового env mkvirtualenv --python=python2 env_name

Другие вопросы по тегам