使用python2和python3创建一个virtualenv
我尝试使用VirtualEnvRapper创建一个同时包含python2和python3的virtualenv 我希望这能奏效: (virtualenv的名称为“double”) 它提到使用python2和python3创建一个virtualenv,python,python-3.x,virtualenv,virtualenvwrapper,Python,Python 3.x,Virtualenv,Virtualenvwrapper,我尝试使用VirtualEnvRapper创建一个同时包含python2和python3的virtualenv 我希望这能奏效: (virtualenv的名称为“double”) 它提到 Not overwriting existing python script both/bin/python (you must use both/bin/python3.4) 但这似乎不是真的。键入pythonpython2.7python3和python3.4都会启动python3.4解释器 对不起,vi
Not overwriting existing python script both/bin/python (you must use both/bin/python3.4)
但这似乎不是真的。键入
python
python2.7
python3
和python3.4
都会启动python3.4
解释器 对不起,virtualenv是为支持单解释器版本而设计的
如果您需要在同一代码库上使用多个python版本,请创建单独的虚拟环境。我有一个解决方案,涉及Vagrant/VirtualBox。。。(它有我启动django probject的引导设置,但是用叉子叉它,让它疯狂!) 包裹在这里,
不幸的是,虚拟环境是一个单一的python游戏,但是使用VirtualBox,您可以在一个名为python2或python3的沙箱中自由工作,virtualenv可以帮助您隔离环境 它不能同时支持多个python版本。 你可以试试看。它支持您将文件夹更改为另一个python版本和工作环境。它很容易切换版本 如果你不能安装pyenv并在Mac上工作。可以帮助您安装
pyenv
例如:
$ pyenv install 3.4.1
$ pyenv install 2.7.6
$ pyenv virtualenv 3.4.1 mypy3
$ pyenv virtualenv 2.7.6 mypy2
$ pyenv versions
* system
3.4.1
2.7.6
mypy3
$ cd /work/
$ pyenv local mypy3 # Use Py3 now
$ pyenv local mypy2 # Use Py2 now
virtualenv
不支持多个解释器版本。我的建议是为每个版本使用不同的环境:
virtualenv -p /usr/bin/python3.3 py3env
virtualenv -p /usr/bin/python py2env
是。
(我知道这是一个老问题,但我现在看了这里,发现答案没有更新)。你想通过这样做实现什么?virtualenvs的一个主要好处是为python2和python3隔离了不同的世界。我正在从事一个同时在python2和python3中运行的项目。我不想一直切换虚拟电视。python2和python3都有自己的pip版本,并且在不同的地方存储站点包,所以我不认为有问题。如果目的是测试项目,那么使用tox来运行python2和python3中的测试。否则,我建议在3.x中开发它,并在2中分别运行它。这里提到的所有工具都是在为每个virtualenv开发一个Python的情况下开发的,因此,虽然事情一开始看起来是可行的,但不能保证它会继续工作。我非常确定virtualenv不会提供这种保证,因为virtualenv根据定义是一个Python解释器版本的独立环境。为要测试的每个Python解释器创建一个版本。如果需要在多个解释器上运行,请处理virtualenv上面的这一层,就像用于运行测试的脚本(我们称之为test.sh)。
virtualenv -p /usr/bin/python3.3 py3env
virtualenv -p /usr/bin/python py2env
virtualenv -p /path/to/your/python/version/exectuable ENV