2014-11-06 107 views
10

我試圖用virtualenvwrapper創建既python2和python3創建既python2和python3一個的virtualenv

virtualenv with python2 and python3 via Homebrew我希望這將工作的virtualenv:

(在virtualenv中的名稱是「雙「)

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) 

但這似乎不是真的。鍵入pythonpython2.7python3python3.4全部開始python3.4解釋器。

+8

你想通過這樣做完成什麼? virtualenvs的一個主要優點是將Python 2和Python 3隔離開來。 – Kevin 2014-11-06 15:07:31

+1

我正在研究一個在python2和python3中運行的項目。我不想一直切換virtualenv。 python2和python3在不同的地方有自己的pip版本和商店網站包,所以我沒有看到問題。 – Zweedeend 2014-11-06 15:19:07

+6

如果目的是測試項目,請使用tox代替在Python 2和3中運行測試。否則,我建議在3.x中開發它並分別在2中運行它。這裏提到的所有工具都是爲每個virtualenv編寫一個Python開發的,所以儘管事情最初看起來可行,但不能保證它會繼續工作。 – 2014-11-06 16:41:05

回答

13

對不起,virtualenv旨在支持單個解釋器版本。

如果您需要在同一代碼庫上使用多個python版本,請創建單獨的虛擬環境。

0

我對這個涉及流浪/ VirtualBox的解決方案......(它有我開始一個Django probject引導設置,但它叉去野吧!)

包是在這裏,https://github.com/andrewyoung1991/python-3.4.1-vagrant-bootstrap.git 一個虛擬env不幸是一個單一的python遊戲,但與一個VirtualBox你可以在一個沙箱中自由工作調用python2或python3

3

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 
5

virtualenv不支持多個解釋器的版本。我的建議是爲每個版本使用不同的環境:

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