CentOS 6 系統預設 Python 2.6.6,若直接編譯安裝 Python 2.7 並修改 /usr/bin/python 軟連結,會導致依賴 Python 2.6 的 yum 無法運作。本文提供兩階段修復方案:先修正 yum shebang,若仍失效則從安裝媒體重裝核心 RPM 套件。
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 -V # 確認 2.7.3
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
python -V # 顯示 2.7.3
vi /usr/bin/yum
# 將第一行 #!/usr/bin/python 改為
#!/usr/bin/python2.6.6
此步驟通常已能恢復 yum 功能。
掛載 CentOS 6.4 安裝光碟/ISO,複製以下套件至 /usr/local/src/Python-2.6.6/:
執行強制重裝:
cd /usr/local/src/Python-2.6.6/
rpm -Uvh --replacepkgs *.rpm
完成後 yum 即可正常運作。
生產環境不建議替換系統預設 python 連結。需較新 Python 時,請使用 python2.7、virtualenv 或 pyenv 管理獨立環境,避免破壞系統工具。