2009-09-12 178 views
9

似乎每個人都推薦virtualenv用於多個python版本(在osx上),但它甚至可以用於python 3.0嗎?我下載了它,似乎沒有......我真的不明白它是如何工作的,你可以在env上打開一次或某些東西嗎?我想要的是離開系統python 2.5(顯然),並使用顛覆pygame的python 3.1.1編寫我自己的東西,python 2.6與普通的穩定pygame來運行其他的東西,比如從pygame下載的pygame遊戲.ORG。任何幫助如何實現這一目標?謝謝。Python - Virtualenv,python 3?

好的我意識到virtualenv不是我正在尋找的。

+4

從版本1.6開始,virtualenv擁有Python 3的支持。 – 2011-04-04 19:47:52

回答

3

你的用例實際上並不需要virtualenv。你只需要安裝幾個不同的Python版本。

+0

我只是喜歡使用最新版本,我只是把自己編程作爲一種愛好,所以對任何其他版本我都沒有關係。 – mk12 2009-09-12 22:11:07

+0

因此,對於使用pygame,你認爲我應該堅持2.6? – mk12 2009-09-12 22:17:54

+0

是的,你應該堅持2.6。 – 2009-09-12 22:20:50

0

不知道如果我理解正確的話,但在這裏不用:)

我不知道OS X,但在Linux下,你可以安裝兩個2.6和3。然後您可以指定使用python25或python3,或將/ usr/bin/python符號鏈接更改爲默認使用的版本。

+0

你在說沒有virtualenv嗎? – mk12 2009-09-12 20:30:34

+0

不,我正在討論使用多個python版本。據我所知,virtualenv用於處理多個版本的依賴關係,而不是多個版本的python本身。但我可能是錯的:-) – l3dx 2009-09-12 20:44:51

+0

ohh ..我希望有一個Python Preferences.app像Java Preferences.app .. – mk12 2009-09-12 20:48:41

1

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(如上例),定義shell別名,仔細管理搜索順序等。

目前,據我所知,virtualenv沒有與Python 3的支持中,因爲其他的事情,setuptools(後面的easy_install魔術)還沒有支持Python 3中,雖然有邁向一個解決方案。

順便說一句,很多人使用Doug Hellman的virtualenvwrapper來簡化virtualenv的使用。

+0

我已經Python 3.2.3,但我必須安裝Python 3.3.2的某些東西在一個當然,我的舊代碼與pygame有關,我想在安裝它之後使用virtualenv,並且也是pip,我不知道如何在每個環境中包含pygame,無論是python 3.3.2還是python 3.2.3,我正在使用Windows XP,歡迎任何意見或指示或參考。 – mazlor 2013-07-03 21:45:43

1

對我來說virtualenv3工作得很好。我還安裝了pypi.python.org/pypi/distribute。這也適用於所提到的www.doughellmann.com/docs/virtualenvwrapper/。我只在Linux上測試過。

+1

現在還有virtualenv5 http://pypi.python.org/pypi/virtualenv5/ – Alien8 2010-07-14 15:34:30

+2

virtualenv3現已過時! https://pypi.python.org/pypi/virtualenv3 – 2013-03-05 20:51:20

14

這個問題到現在爲止還是個老問題,但我在谷歌搜索答案的基礎上發現了自己,我不認爲所提供的答案是人們正在尋找的。

據我所知,你想用不同的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),您可以根據自己的喜好製作任意數量的名稱。