有没有办法知道我的代码支持哪些版本的python?

时间:2009-07-13 08:05:04

标签: python dependencies versioning

您可能知道Windows合规性工具,可帮助人们了解任何版本的MS OS是否支持其代码。

我正在寻找类似于Python的东西。

我正在用Python 2.6编写一个lib,我意识到由于使用了with关键字,它与Python 2.5不兼容。

我想知道将来是否有一种简单而自动的方法来避免这种情况。

我也对类似知道支持哪种操作系统感兴趣。

感谢您的帮助

3 个答案:

答案 0 :(得分:7)

在回复a previous question about this时,我写了pyqver。如果您有任何改进,请随意分叉并做出贡献!

答案 1 :(得分: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兼容。

答案 2 :(得分:0)

Python 2.5仍然可以保存,因为它可以使用with关键字:

from __future__ import with_statement