如何检查哪个版本的Python解释器正在运行我的脚本?
当前回答
如果你想检测python 3之前的版本,但不想导入任何东西…
...你可以(ab)使用列表理解范围的变化,并在一个表达式中完成:
is_python_3_or_above = (lambda x: [x for x in [False]] and None or x)(True)
其他回答
这只返回2.7 3.6或3.9
import sys
current_version = ".".join(map(str, sys.version_info[0:2]))
这是你通常需要的…
已经有几个答案建议如何查询当前的python版本。为了以编程方式检查版本需求,我将使用以下两种方法之一:
# Method 1: (see krawyoti's answer)
import sys
assert(sys.version_info >= (2,6))
# Method 2:
import platform
from distutils.version import StrictVersion
assert(StrictVersion(platform.python_version()) >= "2.6")
如果你想检测python 3之前的版本,但不想导入任何东西…
...你可以(ab)使用列表理解范围的变化,并在一个表达式中完成:
is_python_3_or_above = (lambda x: [x for x in [False]] and None or x)(True)
我喜欢系统。对于这样的东西。
>>> import sys
>>> sys.hexversion
33883376
>>> '%x' % sys.hexversion
'20504f0'
>>> sys.hexversion < 0x02060000
True
sys。Version_info在3.7时似乎没有返回元组。相反,它返回一个特殊的类,因此使用元组的所有示例都不起作用,至少对我来说是这样。下面是python控制台的输出:
>>> import sys
>>> type(sys.version_info)
<class 'sys.version_info'>
我发现使用sys.version_info的组合。Major和sys.version_info。小调似乎就足够了。例如,……
import sys
if sys.version_info.major > 3:
print('Upgrade to Python 3')
exit(1)
检查是否运行Python 3。你甚至可以用…
import sys
ver = sys.version_info
if ver.major > 2:
if ver.major == 3 and ver.minor <= 4:
print('Upgrade to Python 3.5')
exit(1)
可以检查你是否至少运行Python 3.5。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if
- 如何在Python中获得所有直接子目录