Linux终端查看Python版本的命令有哪些

南乔
南乔
发布时间:2026-10-21 | 4人浏览过
原创
在 Linux 终端中查看已安装的 Python 版本,最常用且直接的命令是 python3 --version(或简写 python3 -V)。如果系统中仍然保留了旧版兼容环境或预设了全局软链接,也可以使用 python --version。除了获取简单的版本号字符串,当需要确认可执行文件存放路径、排查多版本并存冲突,或者在不运行完整交互式终端的前提下提取构建细节时,还可以使用 which、whereis 以及 Python 内置的 sys 模块。本文将按实际使用需求分别梳理这些命令的具体格式与适用场景。

一、首选直接查询命令:快速获取版本号

在大多数日常维护与开发场景中,目标通常只是快速确认当前环境中的 Python 大版本和小版本号。以下两条命令是最常用、也最推荐首先尝试的命令。

1. 查看 Python 3 版本号(首选)

由于 Python 2 已经在 2020 年正式停止维护,现代 Linux 发行版(如 Ubuntu 20.04+、Debian 11+、CentOS Stream、Rocky Linux、Fedora 等)默认预装的都是 Python 3,且系统为了保障系统核心工具的稳定性,通常不会直接将全局的 python 别名指向 Python 3,而是严格使用 python3 命令。

终端命令bash
$ python3 --version
示例输出纯文本
[示例输出] Python 3.10.12

参数中的大写字母 -V 是 --version 的简写形式,两者在功能与输出上完全等同:

终端命令(简写形式)bash
$ python3 -V
示例输出纯文本
[示例输出] Python 3.10.12

2. 查看默认 python 别名版本号

如果在终端中直接输入 python --version,其执行结果取决于操作系统当前对无后缀 python 符号链接的配置方式:

终端命令bash
$ python --version

该命令在不同环境下可能出现三种典型结果:

  • 输出 Python 2.x.x:说明系统处于较旧发行版(如 CentOS 7),或安装了兼容旧项目的 Python 2 环境。
  • 输出 Python 3.x.x:说明系统已通过软件包(如 Ubuntu 的 python-is-python3)或环境管理工具将默认 python 软链接指向了 Python 3。
  • 报错 command not found:说明系统遵循 PEP 394 规范,未创建默认的无数字后缀软链接,此时直接切换为 python3 --version 即可。
Linux终端查看Python版本的命令有哪些
图 1:Linux 终端查看 Python 版本的操作步骤与常见结果分流流程

二、定位路径与排查多版本:确认执行的是哪个 Python

在很多 Linux 服务器上,可能会同时存在系统预装 Python、用户自行编译的 Python、虚拟环境以及 Conda 环境。仅仅打印出版本号还不足以确认正在执行的具体文件。结合以下路径查询命令,可以明确当前调用的 Python 二进制程序究竟存放在哪一个目录下。

1. 使用 which 定位当前生效的解释器路径

which 命令会顺着当前用户的环境变量 $PATH 中所列出的目录顺序,自前往后进行检索,并返回第一个匹配到的可执行文件绝对路径。

终端命令bash
$ which python3
示例输出纯文本
[示例输出] /usr/bin/python3

如果处于激活的 Python 虚拟环境(如 venv)中,输出结果会自动指向该虚拟环境目录:

虚拟环境下的示例输出纯文本
[示例输出] /home/user/myproject/venv/bin/python3

2. 使用 whereis 查询系统中所有的 Python 安装分布

与 which 只返回首个匹配项不同,whereis 会直接在标准的系统二进制目录、源码目录和 man 帮助手册目录中全面搜索与关键词匹配的所有文件。

终端命令bash
$ whereis python3
示例输出纯文本
[示例输出] python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/python3 /usr/share/man/man1/python3.1.gz

3. 使用 type -a 检查别名与多重定义

type 是 Bash 内置命令。加上 -a 参数后,它会列出终端中该命令的所有定义形式,包括 Shell 别名(alias)、内置函数以及在 PATH 中的所有二进制路径。

终端命令bash
$ type -a python3
示例输出纯文本
[示例输出] python3 is /usr/bin/python3
python3 is /bin/python3
Linux终端查看Python版本的命令有哪些
图 2:常用版本与路径查询命令的功能维度划分

三、运行期内省:获取详细编译信息与结构化版本

普通的 --version 仅返回一个简短的版本号字符串。而在进行自动化脚本编写、CI/CD 部署或排查底层 C 扩展依赖兼容性时,往往需要知道解释器的具体编译日期、使用的 GCC 编译器版本,甚至是便于代码解析的元组数据。

1. 单行调用 sys.version

利用 Python 的 -c 参数,可以在不启动完整交互环境的情况下直接在终端执行 Python 代码:

终端命令bash
$ python3 -c "import sys; print(sys.version)"
示例输出纯文本
[示例输出] 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]

从输出中不仅能读出 3.10.12,还能获知该解释器是在 2023 年 6 月 11 日通过 GCC 11.4.0 编译构建的,这在排查编译类第三方库(如 numpy、torch、cffi 等)的二进制兼容问题时十分关键。

2. 获取结构化元组:sys.version_info

如果需要在 Shell 脚本中以编程方式比较版本(例如判断是否大于 Python 3.8),可以使用 sys.version_info:

终端命令bash
$ python3 -c "import sys; print(sys.version_info)"
示例输出纯文本
[示例输出] sys.version_info(major=3, minor=10, micro=12, releaselevel='final', serial=0)

还可以直接提取其中的主版本号或次版本号:

提取主版本与次版本bash
$ python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')"
示例输出纯文本
[示例输出] 3.10

3. 使用 platform 模块获取纯净版本号

如果脚本需要与标准输出保持严格的格式对接,可使用内置的 platform 模块:

终端命令bash
$ python3 -c "import platform; print(platform.python_version())"
示例输出纯文本
[示例输出] 3.10.12
Linux终端查看Python版本的命令有哪些
图 3:Linux 终端命令解析、符号链接链条与虚拟环境覆盖逻辑

四、不同场景下的命令选择指南与注意事项

了解所有查看命令后,可以根据工作中的具体诉求选择最合适的指令组合:

目标需求 推荐命令 关注重点与典型表现
快速查看日常开发版本 python3 --version 最通用、不易出错,适用于现代主流 Linux 发行版。
检查旧脚本能否直接执行 python -V 判断系统是否保留了 Python 2 或配置了默认全局别名。
确认当前执行的绝对路径 which python3 确认当前命令是否来源于虚拟环境或自定义安装路径。
系统内多版本全面排查 whereis python3 列出系统盘中所有存在的二进制和库目录,便于多版本管理。
脚本内自动化提取版本数据 python3 -c "import sys; print(sys.version_info)" 获取元组数据,避免手动切分字符串带来的解析风险。

注意事项:切勿随意修改系统全局软链接

在 Ubuntu/Debian 等系统中,诸如 apt 包管理器内部的许多组件直接依赖系统默认安装的特定 Python 3 次版本(如 3.10)。如果自行安装了 Python 3.11 或 3.12,请勿强行通过命令覆盖 /usr/bin/python3 软链接,否则极易导致系统级工具崩溃。多版本切换建议使用虚拟环境、update-alternatives 工具或专用版本管理工具(如 pyenv)。

Linux终端查看Python版本的命令有哪些
图 4:Linux 终端查看 Python 版本的常用命令速查图
相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表