如何優雅地 yum 刪除 Python?
我只是嘗試在我的 CentOS 機器上升級 Python 安裝。幾次失敗後,我做到了
yum remove python
。然後問題開始發生。
yum
在機器上發現了大約 300 個依賴項,在我確認操作後,幾乎每個命令和實用程序都變得不可用,包括ls
,wget
,yum
本身……我別無選擇,只能重新啟動實例(我很感激它只是一個開發機器。)我想知道刪除python是否如此有害,有什麼辦法可以優雅地刪除python?
許多 Linux 發行版都需要 Python。發行版提供商組合的許多系統實用程序(基於 GUI 和非基於 GUI)都是用 Python 程式的。
系統實用程序程式的python版本我將稱為“主”python。
python
例如,對於 Ubuntu 12.04,這是 2.7.3,這是您在新安裝的系統上呼叫時獲得的版本。由於用 python 編寫的系統實用程序,不可能在不破壞系統的情況下刪除主 python。使用同一major.minor 系列中的更高版本更新主python甚至需要非常小心,因為您需要注意使用與主python 相同的配置規範來編譯它。
.configure
這是獲取主要 python 使用的庫的正確搜尋路徑所必需的,當您下載 python 以從原始碼進行 python 編譯時,這通常不是沒有選項會得到的。安裝與系統使用的major.minor 版本(即主python)不同的版本通常不是問題。即,您可以編譯 2.6 或 3.4 python 並毫無問題地安裝它,因為它安裝在主 (2.7.X) python**旁邊。**有時發行版會提供這些不同的 major.minor 包,但它們可能不是該系列中最新的錯誤發布版本。
當您想使用主要python 系列中的最新版本時,問題就開始了(例如,主要python 版本為2.7.3 的系統上的2.7.8)。我建議不要嘗試替換主 python,而是在單獨的位置編譯和安裝 2.7.8(我的在 /opt/python/2.7.8 中)。這將使您保持在您的發行版的安全修復計劃中,並保證其他人測試 python 庫和該版本的兼容性(如係統實用程序所使用的那樣!)。
對於使用該版本 python 的任何開發,請使用virtualenv(或virtualenvwrapper)並使用以下方法設置 2.7.8 環境:
virtualenv -p /opt/python/2.7.8/bin/python /tmp/test source /tmp/test/bin/activate
(第二行假設您正在使用
bash
)