python - 如何确保脚本由特定版本的 python 执行?
问题描述
正如问题所问,我想确保脚本是由特定版本的 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)
推荐阅读
- python - 创建 Keras 输入数组,numpy.append 无法正常工作
- node.js - nodejs服务器脚本未知结果
- ms-access - 如何阻止 MS 访问覆盖以前的记录?
- javascript - 当 css 绑定的属性为空时,KnockoutJS 与默认类绑定
- java - 使用 Spring 数据的多级一对多关系
- raspberry-pi - 如何使用 gstreamer 从 Raspberry pi 流式传输和保存视频
- sql - 如何从 Postgres 表中获取数据(多对多)
- java - 转换代码(移除匕首)
- chart.js - 当值相等时,Chartjs 条形图不呈现
- ip - Apache Ignite 的合理多播地址是什么?