当前位置: 首页 > 面试题库 >

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

魏成济
2023-03-14
问题内容

是否有类似于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版本都放到光盘上,并运行每个版本的脚本并查看发生了什么错误。


问题答案:

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,从而可以轻松集成到测试套件中。



 类似资料:
  • 我在尝试使用pandas软件包时遇到了这个问题。我已经使用命令安装了numpy 1.9.0和dateutil 2.5.0。我仍然看到这个错误。 是否有其他方法安装dateutil?而这只与熊猫包有关 回溯(最后一次调用):从pandas.compat.numpy import*文件“/Users/xyz/Library/Python/2.7/lib/Python/site packages/pan

  • 试图在android Studio中找到构建一个android项目所需的最小源代码和构建文件。我想发布到github,避免上传生成的构建文件或二进制文件。 我确实有一个Android.Gitignore从,但我仍然看到更多的文件被推入回购,这可能是不必要的。我明白几个明显的,但关于其他,我是否需要他们,如果是这样,善意地解释用法。 所以问题是,我需要以下内容吗?如果需要的话,我需要一个简短的描述,

  • 如果我运行的应用程序需要Google Play服务(例如,使用Mobile Vision API/Firebase等的应用程序), 我如何知道设备上运行应用程序所需的Google Play服务的最低版本? 谷歌官方网站只推荐更新谷歌播放服务的设备(事实上,这是在安装了谷歌播放的设备上自动完成的) 这是因为我想在完全离线的设备上使用该应用程序,而该设备不会安装最新的Google Play服务。 提示

  • 我正在使用spring boot 1.4.x开发一个web服务,并在支持Java 6的WebSphere8.5中部署它。但是当我部署war时,我得到了以下错误。 看起来像是spring boot的jar依赖项(spring-ws-core-2.3.1.release.jar)中有一个用Java 7编译的类,这导致了下面的错误。 使用spring boot 1.4.x所需的最低Java版本是什么?在

  • 我正在研究Google Play商店中流行的应用程序需要什么最低版本的Android操作系统,但我很难找到某些应用程序的信息,整个最低操作系统版本“因设备而异”,如这张Facebook应用程序的截图所示: 我知道我可以通过尝试在运行不同操作系统版本的设备上安装应用程序来回答我的问题,但如果你想找出10个应用程序的最低版本,那么这将是一个巨大的任务。 有没有一种简单的方法可以找到Google Pla