2012-02-12 118 views
5

我可以使用Python 2.6中的Python 2.7模塊嗎?或者做些什麼來達到相同的效果?我可以使用Python 2.6中的Python 2.7子流程模塊嗎?

我僅限於使用Python 2.6,但在Python 2.6提供的subprocess模塊中存在issue。這在Python 2.7中得到了修復。我很好奇,如果我使用點(或等效)來操縱這個問題來暫時避開缺陷,直到升級一天。我會如何去做這件事?

+3

有什麼錯誤?可能有一種解決方法比試圖混合Python版本更簡單(通常這是不可能的)。 – 2012-02-12 18:26:41

+0

「subprocess」完全是用Python編寫的。在Windows上,還有一個[用C寫的部分](http://hg.python.org/cpython/file/e0c353a43c7d/PC/_subprocess.c)。 – 2012-02-12 18:32:20

+0

無賴。我指的是這個問題:http://bugs.python.org/issue9127(更新後的問題)。 – sholsapp 2012-02-12 18:43:47

回答

2

是的,通常。 2.6和2.7之間的差別不是很大,因爲2.7應該是2.6和3.0之間的橋樑。因此,大多數2.7版本的Python模塊都可以在這兩個版本中工作(通常2.6版本比3.0版本更好)。

當然,知道答案的唯一可靠途徑就是試試!

編輯:要說清楚,如果您有選擇,我不建議您這樣做。 僅僅因爲一個模塊中的Python bug而繞開Python安裝是一個壞主意。

+0

我想我的問題是,如何實現這一目標?我不太熟悉Python包裝,因爲我還想要。 – sholsapp 2012-02-12 18:57:09

+0

只需按照您在Python 2.7上的方式安裝包。通常是'/usr/bin/python2.7 setup.py install' - >'/usr/bin/python2.6 setup.py install'。唯一的區別是您調用來安裝模塊的Python解釋器。某些模塊可能會有額外的安裝說明,爲此您必須弄清楚或發佈相關模塊的名稱(如果您在安裝時遇到問題,則可能需要另外提問) – 2012-02-12 18:59:45

+1

如果您是使用'pip'安裝軟件包,可以使用'--environment =/usr/bin/python2.6'或'--environment =/path/to/environment'指定Python環境來安裝軟件包。 – 2012-02-12 19:02:08

1

如果你真的想留在Python 2.6中,也希望修復這個bug,我可能會建議從源代碼編譯的Python 2.6,但也 2.7應用相關的bug修復代碼爲subprocess模塊。

您將最終得到一個自定義的Python 2.6版本。當然,如果你因爲無法安裝任何不同的版本而停留在標準2.6版上,那麼這將無濟於事。