在 CentOS 上更新 Python 的可选方案与步骤
一、前置检查与原则
python --version、python3 --version。二、方法一 使用包管理器安装或升级 Python 3(推荐)
sudo yum install -y epel-releasesudo yum install -y python39python3 --version、python3.9 --versionsudo dnf install -y python3(或指定次版本包)sudo alternatives --config python3(按提示选择新版本)三、方法二 使用 SCL(Software Collections)在不替换系统 Python 的情况下启用新版本
sudo yum install -y centos-release-sclsudo yum install -y rh-python38scl enable rh-python38 bashpython --version(此时指向 SCL 提供的 Python 3.8)scl enable 进入对应环境,适合需要系统工具稳定、同时开发使用新版本的场景。四、方法三 源码编译安装指定版本(可控但更复杂)
sudo yum groupinstall -y "Development Tools" 与 sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-develcd /usr/srcsudo curl -O https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgzsudo tar xzf Python-3.10.12.tgz && cd Python-3.10.12./configure --enable-optimizationsmake -j$(nproc)sudo make altinstallpython3.10 --versionsudo alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 60sudo alternatives --config python3五、方法四 使用 pyenv 管理多版本(开发推荐)
sudo yum install -y git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-develcurl https://pyenv.run | bash~/.bashrc 或 ~/.zshrc):
export PYENV_ROOT="$HOME/.pyenv"export PATH="$PYENV_ROOT/bin:$PATH"eval "$(pyenv init --path)"eval "$(pyenv init -)"source ~/.bashrcpyenv install --listpyenv install 3.10.12pyenv global 3.10.12 或 pyenv local 3.10.12python --version六、最佳实践与常见问题
python3.10 -m venv venv && source venv/bin/activatepip install -U pip,然后用 requirements.txt 迁移依赖:pip freeze > requirements.txt;在新环境 pip install -r requirements.txt/usr/bin/python;如需“默认 python3”,用 alternatives 切换 python3,或仅在用户会话中用 pyenv/SCL。yum、dnf、firewalld 等脚本)是否正常;必要时在脚本中显式使用 python3 路径。