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
升級。