首页 > 解决方案 > 如何确保脚本由特定版本的 python 执行?

问题描述

正如问题所问,我想确保脚本是由特定版本的 python 执行的,比如 =>3.5.2。

如何确保脚本在执行时被特定版本调用。

此检查应在 python 脚本本身中完成。

如果解决方案独立于平台,可能会更好。

标签: pythonlinuxpython-3.xwindows

解决方案


只需将其添加到脚本的开头:

import sys

assert sys.version_info >= (3, 5, 2), "Python version too low."

或者,如果您不喜欢assert

import sys

if not sys.version_info >= (3, 5, 2):
    raise EnvironmentError("Python version too low.")

或者更详细一点,但这实际上会通知用户他们需要什么版本:

import sys

MIN = (3, 5, 2)
if not sys.version_info >= MIN:
    raise EnvironmentError(
        "Python version too low, required at least {}".format('.'.join(str(n) for n in MIN)))

示例输出:

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    "Python version too low, required at least {}".format('.'.join(str(n) for n in MIN)))
OSError: Python version too low, required at least 3.5.2

 

指定的最小版本元组可以根据需要精确。这些都是有效的:

MIN = (3,)
MIN = (3, 5)
MIN = (3, 5, 2)

推荐阅读