如何检查哪个版本的Python解释器正在运行我的脚本?
当前回答
所有的答案都有深刻的见解
另一种方法是platform.python_version_tuple()
python3 -c “import platform; print(platform.python_version_tuple())”
(‘3’, ‘6’, ‘8’)
其他回答
import sys
sys.version.split(' ')[0]
sys。版本给你你想要的,只是选择第一个数字:)
已经有几个答案建议如何查询当前的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")
要从命令行检查,在一个命令中,但包括major, minor, micro version, releaslevel和serial,然后调用与你的脚本使用的相同的Python解释器(即相同的路径):
> path/to/your/python -c "import sys; print('{}.{}.{}-{}-{}'.format(*sys.version_info))"
3.7.6-final-0
注意:.format()而不是f-strings或'.'.join()允许您使用任意格式和分隔符字符,例如,使其成为一个可greppable的单字字符串。我把它放在bash实用程序脚本中,报告所有重要的版本:python, numpy, pandas, sklearn, MacOS, xcode, clang, brew, conda, anaconda, gcc/g++等。对日志记录、可复制性、故障排除和错误报告等很有用。
如果你想检测python 3之前的版本,但不想导入任何东西…
...你可以(ab)使用列表理解范围的变化,并在一个表达式中完成:
is_python_3_or_above = (lambda x: [x for x in [False]] and None or x)(True)
尝试使用os。Popen在变量中读取它:
import os
ver = os.popen('python -V').read().strip()
print(ver)