2009-07-04 94 views
1

我目前在家裏用python玩,我打算切換到python 3.1。事實是,我有一些使用python 2.6的腳本,我無法轉換它們,因爲它們使用了一些不可用於python 3.1 atm的模塊。所以我正在考慮沿着我的python 2.6安裝python 3.1。我只找到互聯網上的人,通過從源代碼編譯Python並使用make altinstall而不是傳統的make install來實現這一點。無論如何,我認爲從源代碼編譯有點複雜。我認爲在Linux上運行兩個不同版本的程序很容易(我運行的是Fedora 11的記錄)。任何提示?在同一臺機器上同時運行python 2.6和3.1

感謝您的閱讀。

+0

我finnaly使用make altinstall這是由Python 3.1源自述文件推薦的。 Fedora不會爲python3.1提出rmp,但我不知道如何構建它(這看起來很複雜),所以我只是手工編譯它。感謝所有:) – thomas 2009-07-09 14:00:10

回答

3

在我Linux系統(Ubuntu的賈蒂),我的Python 2.5,2.6和3.0安裝,只需通過安裝二進制(DEB)封裝'的python2.5''python2.6的''python3.0'使用apt-get的。也許Fedora將它們打包並以類似的方式將它們命名爲RPM。

我只需要通過輸入命令行就可以運行我需要的命令行。 python2.6。所以,我也可以指定一個我想我的腳本的頂部,通過把例如爲:

#!/usr/bin/python2.6 
+0

Fedora存儲庫現在還沒有包。我會記住這個事實,當我將重新考慮我的發行版選擇:) – thomas 2009-07-09 14:02:43

1

你不需要一起運行它們。

2.6已經具備了所有的3.0功能。您可以使用from __future__ import語句啓用這些功能。

運行2.6(有一些from __future__ import)要簡單得多,直到你需要的所有內容都在3.x中,然後切換。

+0

我知道從__future__導入somefeature,但我真的想使用python 3.x,因爲作爲一個業餘愛好者,我需要完成一個項目的時間是巨大的。我敢打賭,當我結束我的項目時,python 3.x將被更廣泛地使用。 無論如何,感謝您的回答:) – thomas 2009-07-05 13:33:17

+1

從未來的進口功能沒有成本。沒有。它不會增加開發軟件所需的時間。你不需要一次運行兩件事。 (a)您所依賴的所有內容都已遷移,並且(b)用戶需要「純3.x」版本,請使用2.6並遷移到3.0。在此之前,從未來使用2.6,你可以專注於項目而不是基礎設施。 – 2009-07-05 23:31:24

2

下載你想有作爲替代的Python版本,其解壓縮,並在您配置時,使用前綴= /我的/ ALT/DIR

乾杯

Nik 
+0

感謝您的回答。它證實我必須自己編譯python,並且幾乎成功地完成了它(有些模塊像tkinter一樣)。 – thomas 2009-07-05 14:03:36

0

爲什麼你需要使用make install呢?在完成make編譯python 3.x後,只需將python文件夾移動到某處,然後在~/bin目錄中創建一個符號鏈接到python可執行文件。如果該目錄尚未存在,請將該目錄添加到您的路徑中,並且您將有一個可以使用的工作python開發版本。只要符號鏈接本身沒有被命名爲python(我已經命名爲我的py),你永遠不會遇到任何衝突。

一個額外的好處是,如果您想要更改爲新版本的python 3.x,例如,如果您正在測試版本,只需下載,編譯並替換新文件夾。

它有點凌亂,但混亂侷限於一個目錄,我覺得它比思考altinstalls等更方便。

相關問題