在 Python 中,获取当前 Python 解释器的版本号有多种方法,以下是几种最常用和推荐的方式:

方法 1:使用 sys 模块(推荐)
sys 模块提供了对 Python 解释器相关信息的访问,sys.version 包含完整的版本字符串,sys.version_info 是一个命名元组,更便于程序化处理。
import sys
# 获取完整版本字符串(3.9.7 (default, Sep 16 2025, 16:59:28) [MSC v.1916 64 bit (AMD64)])
print(sys.version)
# 获取版本号(推荐,返回命名元组,如 sys.version_info(major=3, minor=9, micro=7, releaselevel='final', serial=0))
print(sys.version_info)
# 提取主版本号、次版本号等
print(f"Python 版本: {sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}")
输出示例:
9.7 (default, Sep 16 2025, 16:59:28) [MSC v.1916 64 bit (AMD64)]
sys.version_info(major=3, minor=9, micro=7, releaselevel='final', serial=0)
Python 版本: 3.9.7
方法 2:使用 platform 模块
platform 模块可以获取更详细的系统信息,包括 Python 版本。
import platform
# 获取完整版本字符串(与方法1的 sys.version 类似)
print(platform.python_version())
# 获取版本号(返回字符串,如 "3.9.7")
print(platform.python_version_tuple()) # 返回元组 ('3', '9', '7')
# 直接打印版本信息
print(platform.python_version())
输出示例:

9.7
('3', '9', '7')
3.9.7
方法 3:使用 __version__ 变量(仅限部分模块)
某些 Python 库(如 pip、numpy)会定义 __version__ 变量,但Python 解释器本身没有全局的 __version__ 变量,直接访问 __version__ 会报错:
# 错误示范:Python 解释器没有 __version__ # print(__version__) # NameError: name '__version__' is not defined
方法 4:通过命令行或脚本执行
在终端或脚本中直接调用 Python 解释器的 -V 或 --version 参数:
# 终端中执行 python --version # 或 python -V
输出示例:
Python 3.9.7
在脚本中可以通过 os.system 调用:
import os
os.system("python --version")
| 方法 | 适用场景 | 示例输出 |
|---|---|---|
sys.version |
获取完整版本字符串(含编译信息) | 9.7 (default, Sep 16 2025, ...) |
sys.version_info |
推荐,程序化获取版本号 | sys.version_info(major=3, minor=9, ...) |
platform 模块 |
获取版本字符串或元组 | '3.9.7' 或 ('3', '9', '7') |
命令行 (-V) |
快速检查版本 | Python 3.9.7 |
推荐使用 sys.version_info,因为它提供了结构化的版本信息,便于条件判断(如检查主版本号是否 ≥ 3)。
