2010-06-01 41 views
3

我將在Python中開始一個很長的(〜1年)編程項目。我想爲我的GUI使用wxPython(支持2.6),但我也想爲項目的其餘部分使用3.1(開始使用3.x語法)。一個Python項目可以同時使用2.x和3.x代碼嗎?

有什麼辦法讓我設計一個混合2.x和3.x模塊的項目?或者我應該咬緊牙關,並在整個過程中使用2.x(首選,因爲我真的想學習wxPython)或3.x?

感謝,

邁克

+0

2to3實用程序將您的Python 2轉換爲Python 3.爲什麼要「混合」?爲什麼不直接編寫Python 2並轉換? – 2010-06-01 18:21:47

+0

一個(初學者的)預感告訴我,如果2.x到3.x的轉換和2to3一樣容易,那麼所有的大型圖書館都會在第二到第三天出現的時候完成它。那些(比較成功的)像wxPython背後的程序員還沒有移植他們的庫,這讓我認爲翻譯是具有挑戰性的,即使是像我的項目一樣基本的東西。 – MikeRand 2010-06-01 20:07:34

+0

@ Begbie00:我不確定你是否有這個權利。它**就像2to3一樣簡單。然而,並不是每個人都在意。有些作者忙於使用其他的東西來爲Python 3準備Python 2包。因此,並非每個人都升級了所有東西,以便2to3實用程序能夠正常工作。然而,你開始新鮮。爲什麼不按照Python網站的指示使用2to3?爲什麼要「混合」? – 2010-06-01 20:11:31

回答

3

Python 2和3都不是不同的。如果你已經學會了Python的2井,這將是隻需幾分鐘即可熟悉Python 3.官方建議表示,您應該使用Python 2.6(當前版本)並嘗試向前兼容。對於大型項目,Python 3目前不是一種選擇,因爲幾乎沒有任何流行的但是Python 2和Python 3的開發將會持續很長時間,所以你不會因爲不使用Python 3而損失太多。你可以導入很多3的語法特徵(Unicode字符串,di視覺,print函數,絕對導入)使用__future__模塊,標準庫保持大部分相同。所以,我建議使用Python 2

5

你應該使用Python 2.7(候選發佈版,預計在接下來的日子),這是非常接近到Python 3.1和編寫採取的任何使用已棄用的功能服務。 Python 2.7的最新版本是wxpython。 在wxpython獲得3.1-3.2版本之後,代碼的轉換不應該太傷害。 儘管如此,wxPython的具有no deadline for the transition :-(

另一種選擇是使用已經有pyQt構建的Python 3.1

+0

+1 pyQt。 pyQt目前在Mac OS X上具有更好的可用性(可通過Fink獲得,而wxPython則不可用)。 – EOL 2010-08-24 22:36:12

2

混合使用的wxPython(2.X)+與學習新的語法(3.X)

不要 「混」 的能力。

編寫Python 2.讓它工作。

分別與Python 3一起玩。不要「混合」。

當各種軟件包和模塊在Python 3中可用時,使用2to3轉換來創建Python 3.您會發現一些小問題。修復您的Python 2,以便您的軟件包在Python 2中運行,也在轉換後生效。

然後,你可以將支持Python 2和專注於Python 3的

不要「混」。

相關問題