温馨提示×

centos怎么多版本python

小樊
44
2026-10-12 04:02:18
栏目: 编程语言

在 CentOS 上同时使用多个 Python 版本,常见、稳妥的做法有以下几种(推荐用 Software Collections / 虚拟环境 / 编译安装)。


一、最推荐:使用 scl(Software Collections)

适合 CentOS 7(官方支持多版本 Python)

1. 安装 SCL

yum install centos-release-scl -y

2. 安装 Python 3.x

例如 Python 3.6 / 3.8 / 3.9

yum install rh-python36 rh-python38 rh-python39 -y

3. 使用指定版本(不覆盖系统 Python)

scl enable rh-python39 bash
python --version

或一行执行:

scl enable rh-python38 'python --version'

✅ 不会动系统 /usr/bin/python


二、推荐:使用 pyenv(最灵活)

适合 CentOS 7 / 8 / Stream

1. 安装依赖

yum install -y gcc make patch zlib-devel bzip2 bzip2-devel \
openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel

2. 安装 pyenv

curl https://pyenv.run | bash

3. 配置环境变量

echo '
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
' >> ~/.bashrc
source ~/.bashrc

4. 安装多版本

pyenv install 3.7.17
pyenv install 3.9.18
pyenv install 3.11.6

5. 切换版本

pyenv global 3.9.18
# 或仅当前目录
pyenv local 3.11.6

三、使用 virtualenv(多环境而非多版本)

前提:已有多个 Python 可执行文件

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

四、手动编译(不推荐新手)

./configure --prefix=/usr/local/python39
make && make install

然后:

/usr/local/python39/bin/python3

⚠️ 重要警告

❌ 不要改 /usr/bin/python 软链接

# 危险!
ln -sf /usr/bin/python3 /usr/bin/python

会导致:

  • yum 失效
  • systemctl 异常

推荐方案总结

场景 推荐
CentOS 7 服务器 scl
开发 / 多版本 pyenv
项目隔离 virtualenv
生产服务 容器 / venv

如果你是 CentOS 几?服务器还是本地? 我可以给你一套精确命令。

0 踩