CentOS Python版本升级步骤
python --version或python3 --version,确认系统当前安装的Python版本(如CentOS 7默认可能为Python 2.7,CentOS 8及以上默认为Python 3.6+)。yum),建议备份关键配置文件(如/etc/yum.conf)和项目代码。适用于CentOS 7及以上版本,通过官方仓库或EPEL仓库安装预编译的Python版本,无需手动编译。
sudo yum update -y,确保系统包为最新状态。sudo yum install epel-release -y。sudo yum install python3 -y(默认安装Python 3.6+);sudo dnf install python3 -y(默认安装Python 3.9+)。alternatives命令切换:sudo alternatives --install /usr/bin/python python /usr/bin/python3 1
sudo alternatives --config python # 交互式选择默认版本
pyenv可管理多个Python版本,切换灵活,不影响系统默认Python。
sudo yum groupinstall "Development Tools" -y
sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel findutils -y
curl https://pyenv.run | bash
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc # 重新加载配置
pyenv install 3.x.x(如pyenv install 3.12.2),等待编译完成。pyenv global 3.x.x;pyenv local 3.x.x(仅当前目录生效)。通过源码编译安装,可自定义安装路径和功能,但需处理依赖和编译问题。
sudo yum groupinstall "Development Tools" -y
sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget -y
wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz
tar -xzvf Python-3.12.2.tgz
cd Python-3.12.2
./configure --enable-optimizations(启用优化)编译源码,使用make altinstall避免覆盖系统默认Python:./configure --enable-optimizations
make -j $(nproc) # 使用多线程加速编译
sudo make altinstall # 不覆盖系统默认python
python3.12 --version,确认新版本安装成功。ModuleNotFoundError),需安装对应依赖库(如libxml2-devel、libxslt-devel),然后重新编译。make install覆盖系统默认Python,需重新安装系统Python(如CentOS 7的yum依赖Python 2.7),或通过alternatives调整默认版本。pip3未安装,运行python3.x -m ensurepip --upgrade安装;若版本过低,用pip3 install --upgrade pip升级。