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


当前回答

下面是一个简短的命令行版本,它可以直接退出(方便脚本和自动执行):

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)

其他回答

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

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

该信息可在sys。sys模块中的版本字符串:

>>> import sys

人类可读的:

>>> print(sys.version)  # parentheses necessary in python 3.       
2.5.2 (r252:60911, Jul 31 2008, 17:28:52) 
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)]

如需进一步处理,请使用sys。Version_info或sys.hexversion:

>>> sys.version_info
(2, 5, 2, 'final', 0)
# or
>>> sys.hexversion
34014192

为了确保脚本以最小版本的Python解释器要求运行,在代码中添加以下内容:

assert sys.version_info >= (2, 5)

比较主要版本和次要版本信息。在元组中添加micro(= 0,1等)和releaselevel (='alpha','final'等)。然而,请注意,最好是“回避”检查是否有特定的功能,如果没有,就采取变通措施(或退出)。有时,新版本的特性会消失,被其他特性所取代。

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

python --version

Or

python -V
import sys
sys.version.split(' ')[0]

sys。版本给你你想要的,只是选择第一个数字:)

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。