VirtualNVRapper和Python 3

VirtualNVRapper和Python 3,python,python-3.x,virtualenvwrapper,Python,Python 3.x,Virtualenvwrapper,我在UbuntuLucid上安装了Python3.3.1,并成功创建了一个virtualenv,如下所示 virtualenv envpy331 --python=/usr/local/bin/python3.3 这在我的主页目录上创建了一个文件夹envpy331 我还安装了virtualenvwrapper。但是在文档中只支持2.4-2.7版本的python。是否有人尝试组织python3virtualenv?如果是这样的话,你能告诉我怎么做吗?在Python3.2下测试。很有可能它也能与P

我在UbuntuLucid上安装了Python3.3.1,并成功创建了一个virtualenv,如下所示

virtualenv envpy331 --python=/usr/local/bin/python3.3
这在我的主页目录上创建了一个文件夹
envpy331

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

在Python3.2下测试。很有可能它也能与Python3.3一起使用。

的bitbucket问题跟踪器上的这一点可能会引起人们的兴趣。
这里提到,VirtualEnvrapper的大多数函数都与Python 3.3中的虚拟环境一起工作。

您可以让VirtualEnvrapper使用自定义Python二进制文件,而不是运行VirtualEnvrapper时使用的一个二进制文件。为此,您需要使用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.

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

which python3 #Output: /usr/bin/python3
mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment
或者,(至少在使用brew的OSX上):

开始使用环境,你会发现只要你键入python,你就会开始使用python3,我发现它正在运行

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

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

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

创造环境。这是假设您在/usr/bin/python3中有python3,在/usr/local/bin/virtualenv-3.4中有virtualenv-3.4。

virtualenvwrapper现在允许您指定python可执行文件,而不需要路径


所以(至少在OSX上)
mkvirtualenv--python=python3环境名称
就足够了;使用
mkvirtualenv-p python3 env_name
加载带有python3的virtualenv


在env内部,使用
python--version
进行验证

您可以将其添加到.bash_配置文件或类似文件中:

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

然后,当您想要创建python 3环境时,请使用
mkvirtualenv3
而不是
mkvirtualenv

我将
导出VIRTUALENV\u 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版本——python=python2 env_name

在OSX上,通过brew并行安装了2.7.8和3.4.1。将其修改为“mkvirtualenv--python=`which python3`nameOfEnvironment”效果很好。@chrisdogget在Ubuntu 14.10上也是如此。在Ubuntu上,命令将是:mkvirtualenv--python=/usr/bin/python3您的环境名称如果使用bash,您可以进行替换以保存一行-
mkvirtualenv--python3=$(which python3)nameOfEnvironment
真正伟大的是创建以下bash别名
别名mkvirtualenv3=“mkvirtualenv--python=$(哪个python3.6)”
-然后很容易为python 2或3创建virtualenv这实际上已经过时了。与其设置环境变量,不如使用乔纳森当前建议的--python参数。@Rawrgulmuffins为什么?这就避免了为每个新环境指定python版本。@Joost这是一个公平点。我个人觉得这是一个缺点,但我可以理解为什么人们会喜欢它。问题是,pip仍然是python2 pip,不是吗?我想你想要的是虚拟说唱歌手使用
pyvenv
而不是
virtualenv
需要两个破折号。将进行编辑,但SE需要6个字符,更改只需要一个。
python--version
要显示版本,只需使用
哪个python2.4
哪个python3.5
哪个python3.6
来查找
--python=directory
alias mkvirtualenv3='mkvirtualenv --python=`which python3`'
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENV_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh