2009-07-13 78 views
3

您可能知道Windows合規工具,它可以幫助人們知道任何版本的MS OS是否支持他們的代碼。有沒有辦法知道我的代碼支持哪些版本的Python?

我正在尋找類似於Python的東西。

我正在用Python 2.6編寫一個庫,我意識到它與Python 2.5不兼容,因爲使用了with關鍵字。

我想知道是否有一種簡單而自動的方式來避免將來出現這種情況。

我也對類似知道哪些操作系統支持感興趣。

感謝您的幫助

+1

你寫它。 **簡單的方法**是知道你在做什麼。 – SilentGhost 2009-07-13 08:22:43

回答

7

針對a previous question about this,我寫pyqver。如果您有任何改進,請隨時分享和貢獻!

+1

令人敬畏的頭髮顏色爲+1 – sqram 2009-07-13 08:25:56

+0

pyqver似乎是我正在尋找的工具。非常感謝你。 但是,我注意到我的腳本被認爲與2.5兼容,但事實並非如此。 from __future__ import with_statement丟失。 「除as」也未被檢測爲與2.5兼容的問題。 我可以想象,處理所有情況都很複雜。 pyqver是一個很好的工具,我會盡力貢獻並改進它,如果我可以的話 – luc 2009-07-13 09:30:50

6

我建議你使用自動化測試而不是代碼分析工具。

請注意,Python標準庫中存在細微的行爲變化,您的代碼可能依賴或可能不依賴。例如httplib:上傳文件時,通常將數據設置爲str。在Python 2.6中,可以爲賦予流對象,而不是(對於大於1GB的文件有用),但是在Python 2.5中,您將遇到錯誤。

一套全面的單元測試和集成測試將更加可靠,因爲他們測試你的程序實際上工作在Python版本爲x.y

$ python2.6 tests/run_all.py 
................................. 
33 tests passed 
[OK] 

你是Python 2.6兼容的。

$ python2.4 tests/run_all.py 
...........EEE.........EEE....... 
27 tests passed, 6 errors 
[FAIL] 

的Python 2.4兼容。

0

的Python 2.5仍然可以保存,因爲它可以用關鍵字的使用:

from __future__ import with_statement 
相關問題