在 CentOS 上升级 Python 有几种常见方式,取决于你使用的 CentOS 版本以及是否允许替换系统 Python。下面按推荐程度给你说明。
yum 依赖系统 Python,误删或替换会导致系统崩溃。python3 命令调用。sudo yum install -y centos-release-scl
sudo yum install -y rh-python39 # 可改成 python38 / python310
启用:
scl enable rh-python39 bash
python --version
永久生效(加入环境变量):
echo "source /opt/rh/rh-python39/enable" >> ~/.bashrc
sudo yum groupinstall -y "Development Tools"
sudo yum install -y zlib-devel bzip2-devel openssl-devel \
ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz
sudo tar xzf Python-3.9.18.tgz
cd Python-3.9.18
sudo ./configure --enable-optimizations
sudo make altinstall
使用:
python3.9 --version
✅ 使用 altinstall 不会覆盖系统 Python
CentOS 8 默认已有 Python 3:
sudo dnf install python39
python3.9 --version
设为默认(可选):
sudo alternatives --set python3 /usr/bin/python3.9
适合多版本共存:
curl https://pyenv.run | bash
配置环境变量后:
pyenv install 3.11.6
pyenv global 3.11.6
which python3
python3 --version
pip3 --version
pip 不存在?
python3 -m ensurepip --upgrade
yum 坏了?
ls /usr/bin/python*
确认 /usr/bin/python 仍指向 2.7
如果你能告诉我:
cat /etc/centos-release)我可以给你最合适的升级方案。