在 CentOS 上安装 Python,真正麻烦的往往不是“怎么装”,而是“该选哪一种方式”。如果你只是想尽快得到可用环境,Yum 足够省事;如果要指定 3.10 以上版本、长期并存多个解释器,或者直接进入科学计算场景,安装路径就该换了。下面按常见需求把 4 种主流方案拆开讲清楚,并补上版本选择、验证方法和避免覆盖系统环境的关键细节。
先判断:你的场景适合哪种安装方式
开始之前,建议先按目标选路线,避免装完才发现不适合当前项目。

- 只想快速安装、少踩依赖坑:优先用 Yum。
- 需要特定版本,尤其是 Python 3.10 以上:优先考虑源码编译。
- 同一台机器要切换多个 Python 版本:直接上 Pyenv。
- 主要做数据分析、科学计算:Anaconda 更省时间。
方法一:使用 Yum 安装 Python
这是 CentOS 下最直接的安装方式,适合新手,也适合只需要稳定可用环境的服务器场景。Yum 安装的是预编译版本,依赖关系通常已经处理好,出错概率相对低。
1. 先更新系统包
sudo yum update -y
这一步的作用是把系统软件包同步到当前可用的最新状态,减少后续依赖冲突。
2. 按 CentOS 版本安装 Python 3
CentOS 8 及以上可以直接安装:
sudo yum install python3 -y
默认安装到的版本通常是 3.6+。
CentOS 7 及更早版本通常要先启用 EPEL 仓库,再安装 Python 3:
sudo yum install epel-release -y
sudo yum install python3 -y
3. 验证是否安装成功
python3 --version
如果输出类似下面的结果,就说明安装已经完成:
Python 3.9.16
如果你的目标只是获得一个稳定、可维护的系统 Python 环境,Yum 通常已经够用。但如果你需要更新版本或更细的控制能力,就要看下面两种方案。
方法二:通过源码编译安装
当系统仓库里的版本太旧,或者你明确需要某个指定版本,比如 3.11.2,源码编译会更灵活。它还能让你控制编译参数,比如开启优化选项。
1. 安装编译依赖
先把编译工具链和 Python 依赖库装齐:
sudo yum groupinstall "Development Tools" -y
sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget -y
这里会安装 gcc、make 以及 Python 编译时常见依赖的头文件和库文件。
2. 下载并解压源码包
以 Python 3.11.2 为例,可以直接从 Python 官网下载:
wget https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tgz
tar xzf Python-3.11.2.tgz
cd Python-3.11.2
3. 配置、编译并安装
先执行配置:
./configure --enable-optimizations
--enable-optimizations 会开启优化编译,通常能改善 Python 运行性能。
然后根据 CPU 核心数并行编译,例如:
make -j 8
最后安装时,建议使用下面这条命令:
sudo make altinstall
这里的重点是 altinstall,不是 install。这样做可以避免覆盖系统默认 Python,尤其是在 CentOS 7 这类仍可能依赖系统 Python 2.7 的环境中,这一步非常关键。
4. 验证安装结果
python3.11 --version
如果你装的是其他版本,把命令里的 3.11 替换成实际版本号即可。
方法三:使用 Pyenv 管理多个 Python 版本
如果同一台机器既要跑旧项目,又要测试新版本,Pyenv 会比手动编译多个 Python 更省事。它的优势不只是安装,还包括全局、目录级别的版本切换。

1. 安装 Pyenv 依赖
sudo yum install git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel -y
2. 安装 Pyenv
curl https://pyenv.run | bash
3. 配置环境变量
把下面内容追加到 ~/.bashrc;如果你用的是 Zsh,则写入 ~/.zshrc:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
保存后执行:
source ~/.bashrc
如果是 Zsh,则执行:
source ~/.zshrc
4. 安装并切换 Python 版本
安装指定版本:
pyenv install 3.11.2
设置全局默认版本:
pyenv global 3.11.2
如果只想让当前目录使用该版本,则执行:
pyenv local 3.11.2
5. 验证当前生效版本
python --version
如果输出类似 Python 3.11.2,说明当前解释器已经由 Pyenv 接管。
方法四:使用 Anaconda 安装
如果你的目标是数据科学、机器学习或科学计算,Anaconda 往往比“先装 Python 再补库”更省事。它自带大量常用包,例如 NumPy、Pandas、Matplotlib,适合希望尽快进入分析工作流的用户。
1. 下载 Anaconda 安装脚本
从 Anaconda 官网选择适合 CentOS 的版本。以 Anaconda3-2025.02-Linux-x86_64.sh 为例:
wget https://repo.anaconda.com/archive/Anaconda3-2025.02-Linux-x86_64.sh
2. 执行安装脚本
bash Anaconda3-2025.02-Linux-x86_64.sh
按提示完成安装即可,默认安装路径通常是 ~/anaconda3。
3. 激活配置
source ~/.bashrc
这一步用于让 conda 初始化配置生效。
4. 验证是否可用
conda list
如果能看到已安装包列表,说明 Anaconda 已正常安装。
安装时要注意的几个问题
CentOS 与 Python 版本要匹配
- CentOS 7 一般建议安装 Python
3.6及以上。 - CentOS 8 及以上更适合 Python
3.8及以上。
如果项目明确要求更高版本,例如 3.10+,优先考虑源码编译或 Pyenv。

不要轻易覆盖系统默认 Python
尤其是在老版本 CentOS 上,系统工具可能依赖默认解释器。源码安装时建议使用 sudo make altinstall,而不是直接覆盖系统 Python。
如果你希望把 Python 安装到自定义目录,也可以使用 --prefix,例如:
--prefix=/usr/local/python3.11
项目环境尽量隔离
无论你采用 Yum、源码编译还是 Pyenv,项目依赖都建议放进虚拟环境,避免系统环境被不同项目互相污染。使用 venv 的基本命令如下:
python3 -m venv myenv
source myenv/bin/activate
如果你使用的是 Anaconda,则可以优先用 conda 管理环境。
结论:按需求选,别只看安装快不快
如果你只是想尽快在 CentOS 上跑起 Python,Yum 是最稳妥的起点;如果要指定版本或自定义参数,源码编译更灵活;多版本并存时,Pyenv 的维护成本最低;而面向数据科学工作流时,Anaconda 能省掉大量补环境的时间。选型时最关键的判断标准,不是命令多少,而是你的机器要长期承担什么任务。













