在CentOS 7上升级默认的 Python 版本到 3.12 的最新版本需要小心操作,因为系统依赖可能会受到影响。以下是安全升级的方法:
1. 检查当前系统 Python 版本
运行以下命令查看系统的默认 Python 版本:
python --version
或者
python3 --version
2. 更新系统和安装依赖
更新系统包并安装 Python 构建所需的依赖:
sudo yum groupinstall "Development Tools" -y
sudo yum install gcc gcc-c++ make wget libffi-devel zlib-devel bzip2 bzip2-devel xz-devel ncurses-devel sqlite sqlite-devel openssl-devel tk-devel gdbm-devel readline-devel libuuid-devel -y
3. 下载并编译 Python 3.12
下载 Python 源码:
cd /usr/src
wget https://www.python.org/ftp/python/3.12.x/Python-3.12.x.tgz
替换 3.12.x 为实际最新版本号。
解压并进入目录:
tar xvf Python-3.12.x.tgz
cd Python-3.12.x
配置并编译:
./configure --enable-optimizations
make
sudo make altinstall
注意:使用 make altinstall 而非 make install,以防覆盖系统默认 Python。
验证安装:
python3.12 --version
4. 切换默认 Python 版本
确保新版本路径存在:
which python3.12
使用 update-alternatives 设置默认版本:
sudo alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.12 2
sudo alternatives --config python3
按提示选择 Python 3.12。
确保 python 也指向新的版本(如果需要):
sudo alternatives --install /usr/bin/python python /usr/local/bin/python3.12 2
sudo alternatives --config python
验证默认 Python 版本:
python --version
python3 --version
5. 更新 pip
升级 pip 到最新版本:
python3.12 -m ensurepip
python3.12 -m pip install --upgrade pip
6. 检查兼容性
在更改默认 Python 后,确保系统和应用(如 yum)仍然正常运行:
sudo yum install python2 -y
sudo alternatives --install /usr/bin/python python /usr/bin/python2 1
sudo alternatives --config python
如果需要还原默认 Python 版本,可以通过 alternatives 重新配置。
备注
不建议直接覆盖系统默认 Python(如 /usr/bin/python),以免影响系统工具。
确保备份关键文件,并在测试环境中验证升级是否对依赖造成破坏。