似乎每个人都推荐在多个python版本上使用virtualenv (在osx上),但是它能在python3.0上工作吗?我下载了它,它似乎不..我真的不太明白它是怎么工作的,你能一次打开env或者别的什么吗?我想要的是离开系统python2.5(很明显),让python3.1.1和subversion pygame来写我自己的东西,让python2.6和普通稳定的pygame来运行其他的东西,比如从pygame.org下载的pygame游戏。有没有关于如何做到这一点的帮助?谢谢。
好吧,我意识到virtualenv不是我要找的。
发布于 2009-09-12 21:18:15
您的用例实际上并不需要virtualenv。您只需要安装几个不同的Python版本。
发布于 2015-02-03 20:19:06
这已经是一个老问题了,但我自己在谷歌搜索中找到了答案,我认为提供的答案并不是人们想要的。
据我所知,你想用不同的Python版本创建不同的虚拟环境?
这非常简单,您只需要virtualenv本身。
例如,对于Python 3:
$ virtualenv -p python3 p34env
(...)
New python executable in p34env/bin/python3.4
Also creating executable in p34env/bin/python
Installing setuptools, pip...done.
$ source p34env/bin/activate
(p34env)$ python -V
Python 3.4.2
(p34env)$ deactivate
$您可以使用source命令来激活venv,使用deactivate来停用它。请注意,提示符会更改以指示env。
对于您系统的标准版本的Python,您只需跳过-p python3参数,并且可以使用该参数来指向您希望给定路径的任何版本。
最后一个参数是名称(p34env),您可以创建任意多个名称,只需给它们不同的名称即可。
发布于 2009-09-12 21:12:20
virtualenv旨在创建Python环境的隔离环境。将其与多个Python实例一起使用的诀窍是将virtualenv安装到您想要与其配合使用的每个Python版本中,例如:
/usr/bin/easy_install-2.6 virtualenv
/usr/local/bin/easy_install virtualenv
sudo port install py26-virtualenv或者使用预期的Python版本调用它,例如:
/usr/bin/python2.6 virtualenv.py ENV
/usr/local/bin/python2.6 virtualenv.py ENV
/opt/local/bin/python2.5 virtualenv.py ENV因此,它不能直接解决您想要使用哪种Python的问题(在OS X上尤其突出)。有多种方法可以解决这个问题:使用指向预期Python的绝对路径(如上面的示例所示)、定义$PATH别名、仔细管理shell搜索顺序等等。
目前,Python3还不支持AFAIK,virtualenv,因为setuptools (easy_install背后的魔力)在Python3上还不受支持,尽管已经有了work in progress来解决这个问题。
顺便说一句,很多人使用Doug Hellman的virtualenvwrapper来简化virtualenv的使用。
https://stackoverflow.com/questions/1416005
复制相似问题