CentOS 装 Python 看起来只是一次软件安装,实际常常牵涉版本选择、系统兼容和后续包管理。本文把 Yum、源码编译、Pyenv 和 Anaconda 四种常见方案拆开说明,并补上各自适用场景、关键命令和避坑点,方便你根据自己是否要新版本、多版本共存或数据科学环境,快速判断该走哪条路。
先判断:CentOS 上该选哪种安装方式
在动手之前,先明确自己的目标。不同安装方式解决的问题并不一样:

- 只想尽快装好并直接使用:优先选
Yum,步骤最少,适合基础开发和日常脚本。 - 需要指定较新的 Python 版本:选源码编译,例如安装
3.11.2这类仓库里未必提供的版本。 - 同一台机器要切换多个 Python 版本:选 Pyenv,适合维护旧项目和新项目并存的环境。
- 主要做数据分析、机器学习:选 Anaconda,能一次带上常用科学计算库。
如果没有特别需求,先从 Yum 开始通常最稳妥。后面几种方式更偏向版本控制、自定义编译和专业工作流。
用 Yum 安装 Python:最省事的入门方案
Yum 是 CentOS 自带的包管理工具,适合希望少折腾、快速可用的场景。它的优点是安装过程简单,系统集成度高,不需要手动处理源码编译流程。
安装步骤
- 先更新系统包,确保仓库和已安装软件处于较新状态:
sudo yum update -y
- 安装 Python 3:
sudo yum install python3 -y
这里安装的是仓库提供的 Python 3.x,具体版本取决于当前 CentOS 仓库,默认可能为 Python 3.6+。
- 验证是否安装成功:
python3 --version
如果终端输出类似 Python 3.6.8,说明安装已完成。
- 检查
pip是否可用,并开始安装第三方包:
pip3 --version
pip3 install package_name
pip3 install numpy
什么情况下适合用 Yum
如果你的目标只是运行 Python 脚本、搭建基础开发环境,或者服务器上不要求特别新的 Python 版本,Yum 往往已经够用。它的短板也很明显:版本通常跟随系统仓库,更新节奏不如官方源码和版本管理工具灵活。
源码编译安装:适合指定版本和自定义优化
当你明确需要某个版本,比如 3.11.2,或者希望启用编译优化,源码安装会更合适。这种方式步骤更多,但版本掌控力也最高。

先安装编译依赖
源码编译前,需要把编译工具和依赖库装齐:
sudo yum groupinstall "Development Tools" -y # 安装gcc、make等工具
sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget -y # 安装Python依赖库
下载并解压 Python 源码
以下示例安装 Python 3.11.2:
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
源码包可从 Python 官网选择对应版本后替换链接。
配置、编译与安装
进入源码目录后,按下面顺序执行:
./configure --enable-optimizations
make -j $(nproc)
sudo make altinstall
./configure --enable-optimizations:开启编译优化,通常有助于提升运行性能。make -j $(nproc):使用全部 CPU 核心并行编译,$(nproc)会自动检测核心数。sudo make altinstall:这是关键一步,它会生成类似python3.11的命令,而不是直接覆盖系统默认的python。
验证安装结果
python3.11 --version
如果正确显示版本号,说明源码安装完成。
这套方式更适合对版本有明确要求的生产环境、编译测试环境,或需要在老系统上部署较新 Python 的情况。
用 Pyenv 管理多个 Python 版本
如果你经常在 2.7、3.6、3.11 等不同版本之间切换,Pyenv 往往比手动装多个 Python 更省心。它把安装、切换和隔离这几件事统一了起来。
安装依赖和 Pyenv
sudo yum install git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel -y
curl https://pyenv.run | bash
配置环境变量
编辑 ~/.bashrc,加入以下内容:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
保存后执行:
source ~/.bashrc
安装版本与切换版本
pyenv install 3.11.2
pyenv global 3.11.2
pyenv versions
pyenv install 3.11.2:安装指定版本。pyenv global 3.11.2:设置全局默认版本。pyenv versions:查看当前机器上已安装的版本和正在使用的版本。
这套方式特别适合开发者机器,尤其是需要维护多套项目环境时。相比直接编译多个版本,Pyenv 的日常操作成本更低。
Anaconda:更适合数据科学工作流
Anaconda 不只是装一个 Python,它更像一整套数据科学发行版。对于需要 NumPy、Pandas、TensorFlow 等库的用户来说,这种方式能少处理很多单独装包的环节。
安装步骤
- 访问 Anaconda 官网,下载 Linux 版本安装脚本,例如
Anaconda3-2025.02-Linux-x86_64.sh。 - 执行安装脚本:
bash Anaconda3-2025.02-Linux-x86_64.sh
- 按提示完成安装,包括接受许可协议和选择安装路径。
- 安装后重新加载环境:
source ~/.bashrc
- 验证是否安装成功:
conda list
如果终端能列出已安装包列表,说明 Anaconda 已正常工作。
它适合谁
如果你的重点是数据分析、科学计算或机器学习,Anaconda 会比手动逐个安装依赖更高效。但如果只是普通 Python 开发,它的体积和预装内容可能会显得偏重。
安装前后要注意的几个坑
1. 不要覆盖系统自带 Python
这一点最重要。CentOS 的系统工具可能依赖系统 Python:

- CentOS 7 常见依赖:
Python 2.7 - CentOS 8 常见依赖:
Python 3.6
尤其在源码安装时,使用 altinstall 而不是 install,就是为了避免把系统默认命令替换掉,影响 yum 等系统工具正常运行。
2. 建议为项目单独建立虚拟环境
无论你用的是 Yum、源码、Pyenv 还是 Anaconda,都建议把项目依赖隔离开:
python3 -m venv myenv
这样可以避免不同项目之间的包版本互相冲突,也便于后续迁移和部署。
3. 编译报错时先检查依赖库
如果源码安装时报“缺少库”之类的错误,例如 openssl 相关问题,通常意味着开发包没有装全。这时需要补装对应依赖,例如 openssl-devel,再重新执行编译流程。
最后怎么选:按需求对号入座
如果你只想在 CentOS 上快速获得一个能用的 Python 环境,sudo yum install python3 -y 仍然是最直接的选择。需要新版或自定义编译参数,就走源码安装;需要多版本并存,优先用 Pyenv;如果主要是数据科学任务,Anaconda 更省时间。
真正需要避免的不是“装不上”,而是选错方案后把系统环境和项目环境混在一起。先确认你的版本需求、是否需要多版本切换,以及是否依赖科学计算生态,再决定安装路径,会比上来就执行命令更稳。













