Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

CentOS 6.4 升級 Python 導致 yum 失效?修復指南(修改 yum shebang + 重裝系統 Python RPM)

編輯:關於 Linux

CentOS 6.4 系統預設 Python 2.6.6,升級至 2.7.3 並將 /usr/bin/python 指向新版本後,yum(依賴 Python 2.6)失效。解決方法:修改 /usr/bin/yum shebang 指向 python2.6.6,若仍失效則從安裝光碟/ISO 重裝系統 Python 相關 RPM 套件。

升級 Python 2.7.3 過程(回顧)

wget https://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar -jxvf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure
make && make install
# 安裝至 /usr/local/bin/python2.7

# 修改預設 python 指向(導致 yum 失效)
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python

修復方法一:修改 yum shebang(首選)

vi /usr/bin/yum
# 將第一行:
#!/usr/bin/python
# 改為:
#!/usr/bin/python2.6.6
# 存檔後 yum 即可正常運作

修復方法二:重裝系統 Python RPM(徹底)

若方法一無效(如系統其他 Python 模組損壞),從 CentOS 6.4 安裝光碟/ISO 提取以下 RPM 重裝:

python-2.6.6-36.el6.x86_64.rpm
python-urlgrabber-3.9.1-8.el6.noarch.rpm
python-devel-2.6.6-36.el6.x86_64.rpm
python-libs-2.6.6-36.el6.x86_64.rpm
yum-3.2.29-40.el6.centos.noarch.rpm
# 版本號以光碟/ISO 實際提供為準
mkdir -p /usr/local/src/Python-2.6.6
cp *.rpm /usr/local/src/Python-2.6.6/
cd /usr/local/src/Python-2.6.6/
rpm -Uvh --replacepkgs *.rpm
# 輸出:
# Preparing... ########################################### [100%]
# 1:python-libs ########################################### [ 20%]
# 2:python ########################################### [ 40%]
# 3:python-urlgrabber ########################################### [ 60%]
# 4:yum ########################################### [ 80%]
# 5:python-devel ########################################### [100%]

# 驗證
yum --version
# 3.2.29

yum 修復過程截圖

最佳實踐建議

  • 不要 替換系統 /usr/bin/python,保持 2.6.6 給 yum、系統工具使用。
  • 新版 Python 安裝至 /usr/local/python2.7 或使用 virtualenv/pyenv 管理多版本。
  • 腳本開頭指定 #!/usr/local/python2.7/bin/python 或啟用虛擬環境。
  • CentOS 7+ 已預設 Python 2.7.5,升級至 3.x 同樣遵循「不動系統 python」原則。
Copyright © Windows教程網 All Rights Reserved