温馨提示×

CentOS怎么切换Python版本

小樊
63
2026-08-04 18:39:38
栏目: 编程语言

在 CentOS 上切换 Python 版本,常见做法取决于你的 CentOS 版本 以及你是 系统级切换 还是 用户级/项目级切换。下面按常见场景给你一套清晰、安全的方案。


一、先确认当前 Python 情况

python --version
python3 --version
whereis python
ls -l /usr/bin/python*

⚠️ 注意

  • CentOS 7/8 的很多系统工具依赖 系统自带 Python(2.7 或 3.6)
  • 不要直接删除或修改 /usr/bin/python,否则可能导致 yum 等命令失效

二、推荐方式:使用 alternatives(适合系统级切换)

✅ 适用于:CentOS 7 / 8 / Stream

1️⃣ 安装新版本 Python(以 Python 3.9 为例)

CentOS 7

yum install -y epel-release
yum install -y python39

CentOS 8 / Stream

dnf install -y python39

安装后路径通常是:

/usr/bin/python3.9

2️⃣ 加入 alternatives 管理

alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2

数字表示优先级,越大越优先


3️⃣ 切换 Python3 版本

alternatives --config python3

输出示例:

1 /usr/bin/python3.6
2 /usr/bin/python3.9

输入数字即可切换。


4️⃣ 验证

python3 --version

✅ 这种方式 不会影响系统 Python2 或 yum


三、只改 python 命令(不推荐但常见)

如果你只是想让 python 指向新版本:

alternatives --install /usr/bin/python python /usr/bin/python3.9 1
alternatives --config python

⚠️ 风险提醒

  • CentOS 7 的 yum 依赖 /usr/bin/python 为 2.7
  • 改之前建议备份:
cp /usr/bin/python /usr/bin/python.bak

四、更安全方案:使用 pyenv(强烈推荐)

适合开发环境 / 多版本共存

1️⃣ 安装依赖

yum install -y gcc zlib-devel bzip2 bzip2-devel readline-devel \
sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel

2️⃣ 安装 pyenv

curl https://pyenv.run | bash

3️⃣ 配置环境变量

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

写入 ~/.bashrc 永久生效。


4️⃣ 安装并切换 Python 版本

pyenv install 3.10.13
pyenv global 3.10.13

查看当前版本:

python --version

✅ 不影响系统 Python,最安全


五、虚拟环境方式(项目级)

如果你只是某个项目需要不同 Python:

python3.9 -m venv venv
source venv/bin/activate

六、总结推荐方案

场景 推荐方式
系统级切换 alternatives
开发 / 多版本 pyenv
单个项目 venv
生产环境 不动系统 Python

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 是否服务器生产环境
  • ✅ 想用 Python 3.8 / 3.9 / 3.10 / 3.11?

我可以给你 精确到命令级别 的方案。

0