这个问题在这里已有答案:
正如问题所示,我想确保脚本是由特定版本的python执行的,比如=> 3.5.2。
如何确保特定版本调用执行时的脚本。
这个检查应该在python脚本本身完成。
如果解决方案与平台无关,那可能会更好。
只需将其添加到脚本的开头:
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)
您可以通过调用sys.version_info
来检查版本。这将以sys.version_info(major=3, minor=6, micro=5, releaselevel='final', serial=0)
的形式给你一个元组。
尝试:
if not sys.version_info >= (3, 5, 2):
raise EnvironmentError()
或者,更好的是,一些带有用信息的自定义异常,