在 CentOS 上切换 Python 版本,常见做法取决于你的 CentOS 版本 以及你是 系统级切换 还是 用户级/项目级切换。下面按常见场景给你一套清晰、安全的方案。
python --version
python3 --version
whereis python
ls -l /usr/bin/python*
⚠️ 注意:
/usr/bin/python,否则可能导致 yum 等命令失效alternatives(适合系统级切换)yum install -y epel-release
yum install -y python39
dnf install -y python39
安装后路径通常是:
/usr/bin/python3.9
alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2
数字表示优先级,越大越优先
alternatives --config python3
输出示例:
1 /usr/bin/python3.6
2 /usr/bin/python3.9
输入数字即可切换。
python3 --version
✅ 这种方式 不会影响系统 Python2 或 yum
python 命令(不推荐但常见)如果你只是想让 python 指向新版本:
alternatives --install /usr/bin/python python /usr/bin/python3.9 1
alternatives --config python
⚠️ 风险提醒:
/usr/bin/python 为 2.7cp /usr/bin/python /usr/bin/python.bak
pyenv(强烈推荐)✅ 适合开发环境 / 多版本共存
yum install -y gcc zlib-devel bzip2 bzip2-devel readline-devel \
sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel
curl https://pyenv.run | bash
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
写入 ~/.bashrc 永久生效。
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 |
如果你愿意,可以告诉我:
我可以给你 精确到命令级别 的方案。