virtualenvwrapper和Python 3

dam*_*mon 111 python virtualenvwrapper python-3.x

我在ubuntu lucid上安装了python 3.3.1并成功创建了如下的virtualenv

virtualenv envpy331 --python=/usr/local/bin/python3.3
Run Code Online (Sandbox Code Playgroud)

envpy331在我家的目录上创建了一个文件夹.

我也已经virtualenvwrapper安装.但在文档中只支持2.4-2.7版本.. python有没有人试图组织python3virtualenv?如果是的话,你能告诉我怎么样吗?

Jon*_*han 226

如果您已经安装了python3以及virtualenvwrapper,那么在虚拟环境中使用python3时,唯一需要做的就是使用以下方法创建环境:

which python3 #Output: /usr/bin/python3
mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment
Run Code Online (Sandbox Code Playgroud)

或者,(至少在使用brew的OSX上):

mkvirtualenv --python=`which python3` nameOfEnvironment
Run Code Online (Sandbox Code Playgroud)

开始使用环境,你会发现只要你输入python就会开始使用python3

  • 在OSX上,通过brew并排安装了2.7.8和3.4.1,对我来说并不是很有用.然而,修改它为"mkvirtualenv --python = \`,其中python3 \`nameOfEnvironment"完美地工作. (12认同)
  • 在Ubuntu上,命令将是:mkvirtualenv --python =/usr/bin/python3 your-env-name (4认同)
  • 如果使用bash,则可以进行替换以保存一行-`mkvirtualenv --python = $(哪个python3)nameOfEnvironment` (2认同)

Ili*_*bev 48

您可以使virtualenvwrapper使用自定义Python二进制文件而不是运行的virtualenvwrapper.要做到这一点,你需要使用virtualenv使用的VIRTUALENV_PYTHON变量:

$ 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.
Run Code Online (Sandbox Code Playgroud)

  • @Rawrgulmuffins为什么?这可以防止必须为每个新的env指定python版本. (6认同)
  • 这实际上是过时的.您应该使用Jonathan当前建议的--python参数,而不是设置环境变量. (2认同)

unu*_*tbu 22

virtualenvwrapper的最新版本是Python3.2下进行测试.机会很好,它也适用于Python3.3.


Pet*_*Yin 20

virtualenvwrapper现在允许您指定不带路径的python可执行文件.

所以(至少在OSX上)mkvirtualenv --python=python3 nameOfEnvironment就足够了.

  • 需要两个破折号.会编辑,但SE需要6个字符,更改只需要一个. (2认同)

aka*_*hbw 20

在Ubuntu上; 使用mkvirtualenv -p python3 env_namepython3加载virtualenv.

在env中,用于python --version验证.


cho*_*rbs 19

您可以将其添加到.bash_profile或类似名称:

alias mkvirtualenv3='mkvirtualenv --python=`which python3`'
Run Code Online (Sandbox Code Playgroud)

然后使用mkvirtualenv3而不是mkvirtualenv当你想创建一个python 3环境.


Cur*_*rge 12

我发现跑步了

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv-3.4
Run Code Online (Sandbox Code Playgroud)

在Ubuntu的命令行强制mkvirtualenv使用python3和virtualenv-3.4.还有一件事要做

mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment
Run Code Online (Sandbox Code Playgroud)

创造环境.这假设您在/usr/local/bin/virtualenv-3.4中的/ usr/bin/python3和virtualenv-3.4中有python3.


Ioa*_*dis 5

关于virtualenvwrapper的bitbucket问题跟踪器的这篇文章可能会引起关注.在那里提到,virtualenvwrapper的大多数功能都适用于Python 3.3中的venv虚拟环境.