如何检查哪个版本的Python解释器正在运行我的脚本?
当前回答
这只返回2.7 3.6或3.9
import sys
current_version = ".".join(map(str, sys.version_info[0:2]))
这是你通常需要的…
其他回答
下面是一个简短的命令行版本,它可以直接退出(方便脚本和自动执行):
python -c "print(__import__('sys').version)"
或者只是大调、小调和微调:
python -c "print(__import__('sys').version_info[:1])" # (2,)
python -c "print(__import__('sys').version_info[:2])" # (2, 7)
python -c "print(__import__('sys').version_info[:3])" # (2, 7, 6)
可以这样写:
#!/usr/bin/env/python
import sys
if sys.version_info<(2,6,0):
sys.stderr.write("You need python 2.6 or later to run this script\n")
exit(1)
在你的脚本顶部。
请注意,根据脚本中的其他内容,比目标版本更老的python甚至可能无法加载脚本,因此不会报告此错误。作为一种变通方法,您可以在一个脚本中运行上述操作,该脚本导入了更现代的代码。
如果你想检测python 3之前的版本,但不想导入任何东西…
...你可以(ab)使用列表理解范围的变化,并在一个表达式中完成:
is_python_3_or_above = (lambda x: [x for x in [False]] and None or x)(True)
有六个模块,你可以做到:
import six
if six.PY2:
# this is python2.x
else:
# six.PY3
# this is python3.x
检查Python版本:Python -V或Python——version或apt-cache policy Python
你也可以运行whereis python查看安装了多少个版本。