确定所需的最低Python版本的工具?

发布于 2021-01-29 17:53:40

是否有类似于Pylint的东西,它们将查看(或运行)Python脚本,并确定每行(或函数)所需的Python版本?

例如,理论用法:

$ magic_tool <EOF
with something:
    pass
EOF
1: 'with' statement requires Python 2.6 or greater

$ magic_tool <EOF
class Something:
    @classmethod
    def blah(cls):
        pass
EOF
2: classmethod requires Python 2.2 or greater
$ magic_tool <EOF
print """Test
"""
EOF
1: Triple-quote requires Python 1.5 of later

这样的事情可能吗?我想最简单的方法是将所有Python版本都放到光盘上,并运行每个版本的脚本并查看发生了什么错误。

关注者
0
被浏览
50
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    Greg Hewgill的pyqver工具已经有一段时间没有更新了。

    vermin是一个类似的实用程序,它以详细模式(-vvv)显示决策中考虑的行。

    % pip install vermin
    % vermin -vvv somescript.py
    Detecting python files..
    Analyzing using 8 processes..
    !2, 3.6      /path/to/somescript.py
      L13: f-strings require 3.6+
      L14: f-strings require 3.6+
      L15: f-strings require 3.6+
      L16: f-strings require 3.6+
      print(expr) requires 2+ or 3+
    
    Minimum required versions: 3.6
    Incompatible versions:     2
    

    奖励:使用参数,-t=V您可以定义V要与之兼容的目标版本。如果不满足此版本要求,则脚本将以退出代码退出1,从而可以轻松集成到测试套件中。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看