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


当前回答

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。

其他回答

有六个模块,你可以做到:

import six

if six.PY2:
  # this is python2.x
else:
  # six.PY3
  # this is python3.x

对于windows,进入命令提示符并键入此命令以获取python版本:

python --version

Or

python -V

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

python -V

这在“man python”中有记录。

从IPython控制台

!python -V

从stdlib中使用平台的python_version:

from platform import python_version
print(python_version())

# 3.9.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)