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