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

luc*_*luc 3 python versioning dependencies

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

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

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

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

我也对类似的东西感兴趣,知道支持哪种操作系统.

谢谢你的帮助

Gre*_*ill 7

在回答之前关于此的问题时,我写了pyqver.如果您有任何改进,请随意分叉并做出贡献!


Dee*_*tan 6

我建议您使用自动化测试而不是代码分析工具.

请注意,您的代码可能会或可能不会依赖Python标准库中的细微行为更改.例如httplib:上传文件时,将数据作为a提供是正常的str.在Python 2.6中,如果你正确地推送它们,你可以给出流对象(对于> 1GB文件很有用),但是在Python 2.5中你会得到一个错误.

一套全面的单元测试和集成测试将更加可靠,因为它们测试您的程序实际上在Python版本XY上运行

$ python2.6 tests/run_all.py
.................................
33 tests passed
[OK]
Run Code Online (Sandbox Code Playgroud)

你是Python 2.6兼容的.

$ python2.4 tests/run_all.py
...........EEE.........EEE.......
27 tests passed, 6 errors
[FAIL]
Run Code Online (Sandbox Code Playgroud)

不是 Python 2.4兼容的.