您的位置:首页 >如何更新CentOS中的Python版本
发布于2026-04-25 阅读(0)
扫一扫,手机访问

在 CentOS 系统上升级 Python,首要原则是什么?答案是:绝不能影响系统自身的稳定运行。许多系统工具,比如 yum 或 dnf,都深度依赖于特定的 Python 版本。直接替换系统默认的解释器,无异于给系统核心“动手术”,极易引发难以预料的故障。因此,安全的做法是,在不触碰系统自带 Python 的前提下,通过其他途径来管理新版本。目前,主流的方案有 SCL、EPEL 仓库、源码编译以及 pyenv,各有其适用场景。
如果你使用的是 CentOS 7 或 8,并且希望在不影响系统环境的前提下,临时或按需使用新版 Python,那么 SCL 是你的首选。它就像一个“平行宇宙”,让你可以随时启用一个独立的 Python 环境。
sudo yum install -y centos-release-scl sudo yum install -y rh-python38
scl enable rh-python38 bash
python --version which python
~/.bashrc),实现持久化。追求稳定和便捷?通过 EPEL 仓库安装 Python 是个不错的思路。EPEL 提供的版本通常比官方最新版稍显保守,但胜在经过了充分测试,与系统兼容性极佳。
# CentOS 7 sudo yum install -y epel-release # CentOS 8 sudo dnf install -y epel-release
sudo dnf install -y python39
python3.9 --version
当你有特殊需求,比如需要某个特定的小版本,或者希望自定义编译参数时,从源码编译是终极解决方案。这里有一个必须牢记的命令:make altinstall。
sudo yum groupinstall -y “Development Tools” sudo yum install -y openssl-devel bzip2-devel libffi-devel wget
cd /usr/src sudo curl -O https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz sudo tar xzf Python-3.10.12.tgz cd Python-3.10.12 ./configure --enable-optimizations make -j$(nproc) sudo make altinstall
python3.10 --version
make altinstall 而非 make install,可以确保新版本不会覆盖系统默认的 /usr/bin/python3 链接。如果希望将其设为系统级备选,可以使用 alternatives 工具来配置。对于开发者而言,经常需要在不同项目间切换 Python 版本。pyenv 正是为此而生,它能让你在同一台机器上轻松安装、切换多个版本,彼此完全隔离。
sudo yum install -y git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel findutils
curl https://pyenv.run | bash
~/.bashrc 或 ~/.zshrc):
echo ‘export PYENV_ROOT=“$HOME/.pyenv”’ >> ~/.bashrc echo ‘export PATH=“$PYENV_ROOT/bin:$PATH”’ >> ~/.bashrc echo ‘eval “$(pyenv init --path)”’ >> ~/.bashrc echo ‘eval “$(pyenv init -)”’ >> ~/.bashrc source ~/.bashrc
pyenv install 3.10.12 pyenv global 3.10.12 # 设置全局默认版本 pyenv local 3.9.18 # 仅对当前目录生效
安装了多个版本后,如何优雅地管理和使用它们?这里有几个经过验证的最佳实践。
alternatives 来方便地切换系统 python3 命令的指向。
sudo alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1 sudo alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 2 sudo alternatives --config python3 # 交互式选择
python3.10 -m venv myenv source myenv/bin/activate pip install --upgrade pip pip install -r requirements.txt
# 在旧环境中 pip freeze > requirements.txt # 在新虚拟环境中 pip install -r requirements.txt
/usr/bin/python 的指向。当你的工作涉及系统工具时,优先使用 SCL;进行应用开发时,则务必在虚拟环境中进行。这才是保证 CentOS 系统长治久安的关键所在。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9