Viralenvwrapper 和 Python 3

我在 ubuntu lucid 上安装了 python 3.3.1,并成功地创建了一个如下的 viralenv

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

这在我的主目录上创建了一个文件夹 envpy331

我还安装了 virtualenvwrapper。但是在文档中只支持 2.4-2.7版本的 python。.有人尝试过组织 python3虚拟世界吗?如果是这样,你能告诉我怎么做吗?

124680 次浏览

最新版本的 viralenvwrapper在 Python 3.2下进行了测试,很有可能它也可以与 Python 3.3一起工作。

虚拟包装器的位桶问题跟踪器上的这个 邮寄可能是有意义的。 这里提到,大多数 viralenvwrapper 的函数都与 Python 3.3中的 来吧虚拟环境一起工作。

You can make virtualenvwrapper use a custom Python binary instead of the one virtualenvwrapper is run with. To do that you need to use VIRTUALENV_PYTHON variable which is utilized by 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.

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

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

Or, (at least on OSX using brew):

mkvirtualenv --python=`which python3` nameOfEnvironment

开始使用这个环境,只要键入 python,就会看到已经开始使用 python3了

I find that running

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

还有

export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv-3.4

在 Ubuntu 的命令行中强制 mkviralenv 使用 python3和 viralenv-3.4

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

假设/usr/bin/python3中有 python3,/usr/local/bin/viralenv-3.4中有 viralenv-3.4。

Viralenvwrapper 现在允许您指定不带路径的 Python 可执行文件。

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

在 Ubuntu 上,使用 mkvirtualenv -p python3 env_name加载带有 python3的 viralenv。

在环境中,使用 python --version来验证。

您可以将其添加到您的. bash _ profile 或类似的:

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

然后,当您想要创建一个 python3环境时,使用 mkvirtualenv3而不是 mkvirtualenv

我把 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

您可以为每个新的 env mkvirtualenv --python=python2 env_name指定 python 版本