在CentOS系统中,无论是进行系统管理、软件部署还是应用开发,准确了解当前安装的Python版本都是一项基础且至关重要的技能,Python版本的不匹配常常是导致脚本运行失败、依赖库安装错误或应用程序兼容性问题的根源,掌握多种查看Python版本的方法,并理解CentOS不同版本间的差异,对于每一位用户来说都十分必要,本文将系统地介绍在CentOS上查看Python版本的各种技巧,从基础命令到高级管理,帮助您全面掌控系统的Python环境。

核心方法:快速检查命令
对于大多数日常需求,使用命令行工具是最直接、最高效的方式,以下是最常用的几个命令。
使用 --version 或 -V 参数
这是最标准、最通用的方法,适用于几乎所有Python安装,打开终端,输入以下命令之一:
python --version
或者使用其简写形式:
python -V
这两个命令的效果完全相同,它们会直接打印出当前python命令所指向的Python解释器的版本号,输出可能如下:
Python 2.7.5
区分 python 与 python3
在许多现代Linux发行版,包括较新的CentOS版本中,Python 2和Python 3可能同时存在,为了明确指定查看Python 3的版本,应使用python3命令:
python3 --version
或者:
python3 -V
其输出会明确显示Python 3的版本,
Python 3.6.8
关键点:在CentOS中,python和python3命令可能指向完全不同的Python版本,理解这一点是避免混淆的第一步。
深入探究:理解CentOS的Python环境
CentOS的不同版本对Python的处理方式有显著差异,这直接影响了我们查看和解释版本信息的方式。
CentOS 7的特殊性:Python 2的天下
CentOS 7发布时,系统核心组件(如yum包管理器)严重依赖Python 2,CentOS 7默认安装并使用Python 2.7.5,在这个系统中:
python命令是系统Python 2.7的符号链接。- 如果您需要使用Python 3,通常需要通过
yum手动安装,sudo yum install python3。 - 安装Python 3后,
python3命令才会可用,它指向新安装的Python 3版本,而python命令依然指向Python 2.7,以保证系统稳定性。
在CentOS 7上,同时运行python -V和python3 -V很可能会得到两个不同的版本号。

CentOS 8/9的现代化:拥抱Python 3
从CentOS 8开始,情况发生了根本性变化,社区和红帽公司都推动用户全面转向Python 3。
- 默认安装Python 3:CentOS 8及后续版本(如CentOS Stream, CentOS 9)默认安装Python 3。
- 无
python命令:为了避免与遗留脚本中可能存在的python命令冲突,系统默认不提供名为python的未版本化命令,您必须明确使用python3或python3.x。 - 模块化设计:CentOS 8/9引入了
dnf包管理器和AppStream模块化仓库,这意味着可以同时安装并管理多个Python 3的流(例如Python 3.6, 3.8, 3.9等),您可以通过dnf module list python查看可用的Python模块。
在这些较新的系统上,直接输入python -V很可能会得到“command not found”的错误提示。
高级技巧:定位与管理多个Python版本
当系统中存在多个Python版本时,仅仅知道版本号可能还不够,我们还需要知道它们的具体位置,并学会如何管理它们。
查找Python可执行文件路径
使用which命令可以快速定位一个命令在文件系统中的具体位置:
which python3
输出示例:
/usr/bin/python3
要查看系统中所有已安装的Python相关可执行文件,可以使用ls命令结合通配符:
ls -l /usr/bin/python*
这通常会列出一系列的文件和符号链接,清晰地展示了版本间的关系,一个典型的输出可能如下表所示:
| 链接名 | 指向 | 说明 |
|---|---|---|
python |
python2 |
(CentOS 7) 默认的Python 2命令 |
python2 |
/usr/bin/python2.7 |
Python 2.7的实际可执行文件 |
python3 |
python3.6 |
Python 3.6的符号链接 |
python3.6 |
/usr/bin/python3.6 |
Python 3.6的实际可执行文件 |
python3.6m |
/usr/bin/python3.6m |
Python 3.6的另一种可执行文件(pymalloc) |
使用sys模块获取详细信息
如果需要获取更详细的版本信息(包括构建日期、编译器信息等),可以进入Python交互式解释器,并导入sys模块:
python3
进入解释器后,输入以下代码:
import sys print(sys.version)
输出将是一段非常详细的字符串,
6.8 (default, Nov 14 2025, 16:29:52)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
版本切换与项目隔离
虽然可以通过修改系统符号链接或使用alternatives工具来切换全局默认的Python版本,但强烈不推荐这样做,因为这可能会破坏依赖特定Python版本的系统工具(如yum)。

最佳实践是为每个项目创建独立的虚拟环境,这能确保项目拥有自己隔离的Python版本和依赖库,互不干扰。
创建虚拟环境的步骤如下:
-
安装
venv模块(如果尚未安装):sudo dnf install python3-venv # 适用于CentOS 8/9 sudo yum install python3-venv # 适用于CentOS 7
-
为项目创建虚拟环境:
python3 -m venv my_project_env
-
激活虚拟环境:
source my_project_env/bin/activate
激活后,您的命令提示符前会出现环境名称,此时使用python --version将显示虚拟环境内的Python版本,完全与系统全局设置解耦。
相关问答FAQs
问题1:我在CentOS 7上已经通过yum install python3安装了Python 3,为什么输入python --version显示的仍然是2.7版本?
解答:这是CentOS 7的预期行为,在CentOS 7中,python命令被系统保留用于指向默认的Python 2.7,因为像yum这样的核心系统工具依赖它,您安装的Python 3需要通过明确命令python3来调用,要检查您新安装的Python 3版本,请使用python3 --version或python3 -V,这种设计是为了保证系统稳定性和向后兼容性。
问题2:如何为我的新项目指定使用Python 3.9,而不影响系统中其他程序或项目的Python环境?
解答:最佳方法是使用Python的虚拟环境(venv),确保您的系统已经安装了Python 3.9(可以通过dnf module install python39等命令安装),在您的项目目录下,运行以下命令来创建一个基于Python 3.9的虚拟环境:python3.9 -m venv my_project_env,创建完成后,通过source my_project_env/bin/activate命令激活该环境,一旦激活,您在此终端会话中使用的python命令将自动指向Python 3.9,所有通过pip安装的包也会被隔离在这个环境中,这样既满足了项目的特定版本需求,又保持了系统和其他项目的环境整洁。