使用python2和python3创建virtualenv

时间:2014-11-06 14:59:58

标签: python python-3.x virtualenv virtualenvwrapper

我尝试使用virtualenvwrapper创建一个包含python2和python3的virtualenv

Per virtualenv with python2 and python3 via Homebrew我希望这会奏效:

(virtualenv的名字是'double')

mkvirtualenv double -p `which python`
mkvirtualenv double -p `which python3`

提到

Not overwriting existing python script both/bin/python (you must use both/bin/python3.4)

但这似乎不是真的。键入python python2.7 python3python3.4都会启动python3.4解释程序。

5 个答案:

答案 0 :(得分:19)

很抱歉,virtualenv旨在支持单一解释器版本。

如果您需要在同一代码库上使用多个python版本,请创建单独的虚拟环境。

答案 1 :(得分:9)

virtualenv不支持多个解释器版本。我的建议是为每个版本使用不同的环境:

virtualenv -p /usr/bin/python3.3 py3env
virtualenv -p /usr/bin/python py2env

答案 2 :(得分:4)

virtualenv可帮助您隔离环境。

它不能同时支持多个python版本。 您可以尝试pyenvpyenv-virtualenv。它支持您将文件夹更改为另一个python版本和工作环境。它很容易切换版本。

如果您无法安装pyenv并在Mac上工作。 anyenv可以帮助您安装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 

答案 3 :(得分:1)

virtualenv -p /path/to/your/python/version/exectuable ENV

what you want。 (我知道这是一个老问题,但是我现在在这里查看,发现答案没有更新。)

答案 4 :(得分:0)

我有一个涉及Vagrant / VirtualBox的解决方案...(它有我的引导程序设置,用于启动一个django项目,但是把它分叉并随之疯狂!)

包在这里,https://github.com/andrewyoung1991/python-3.4.1-vagrant-bootstrap.git 不幸的是,虚拟环境是一个单人python游戏,但有了VirtualBox,你可以在沙箱中自由工作,调用python2或python3