如何检查哪个版本的Python解释器正在运行我的脚本?


当前回答

从命令行(注意大写的“V”):

python -V

这在“man python”中有记录。

从IPython控制台

!python -V

其他回答

你最好的选择可能是这样的:

>>> import sys
>>> sys.version_info
(2, 6, 4, 'final', 0)
>>> if not sys.version_info[:2] == (2, 6):
...    print "Error, I need python 2.6"
... else:
...    from my_module import twoPointSixCode
>>> 

此外,您总是可以在一个简单的try中包装导入,这应该会捕获语法错误。而且,按照@Heikki的观点,这段代码将与更老版本的python兼容:

>>> try:
...     from my_module import twoPointSixCode
... except Exception: 
...     print "can't import, probably because your python is too old!"
>>>

如果你在linux上工作,只需要给出命令,python输出就像这样

Python 2.4.3 (#1, june 11 2009, 14:09:37) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44) 输入“帮助”,“版权”,“学分”或“许可”查看更多信息 信息。

从stdlib中使用平台的python_version:

from platform import python_version
print(python_version())

# 3.9.2

从命令行(注意大写的“V”):

python -V

这在“man python”中有记录。

从IPython控制台

!python -V

如果你想检测python 3之前的版本,但不想导入任何东西…

...你可以(ab)使用列表理解范围的变化,并在一个表达式中完成:

is_python_3_or_above = (lambda x: [x for x in [False]] and None or x)(True)