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


当前回答

尝试使用os。Popen在变量中读取它:

import os
ver = os.popen('python -V').read().strip()
print(ver)

其他回答

该信息可在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'等)。然而,请注意,最好是“回避”检查是否有特定的功能,如果没有,就采取变通措施(或退出)。有时,新版本的特性会消失,被其他特性所取代。

我喜欢系统。对于这样的东西。

>>> import sys
>>> sys.hexversion
33883376
>>> '%x' % sys.hexversion
'20504f0'
>>> sys.hexversion < 0x02060000
True

更简单的方法:

在Spyder中,启动一个新的“IPython控制台”,然后运行任何现有的脚本。

现在版本可以在控制台窗口打印的第一个输出中看到:

“Python 3.7.3(默认,Apr 24 2019, 15:29:51)…”

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

import six

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

从stdlib中使用平台的python_version:

from platform import python_version
print(python_version())

# 3.9.2