linux刪除python
1、基於用戶修改 Python 版本:
想要為某個特定用戶修改 Python 版本,只需要在其 home 目錄下創建一個alias(別名) 即可。打開該用戶的~/.bashrc文件,添加新的別名信息來修改默認使用的 Python 版本。
alias python='/usr/bin/python3.4'
$ . ~/.bashrc
$ python --version
Python 3.4.2
# update-alternatives --list python
update-alternatives: error: no alternatives for python
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
# update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
# python --version
Python 3.4.2
# update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.4
# update-alternatives --config python
# python --version
Python 2.7.8
# update-alternatives --remove python /usr/bin/python2.7
update-alternatives: removing manually selected alternative - switching python to auto mode
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
一旦完成以上操作,重新登錄或者重新載入.bashrc文件,使操作生效。
檢查當前的 Python 版本。
2、 在系統級修改 Python 版本
我們可以使用update-alternatives來為整個系統更改 Python 版本。以 root 身份登錄,首先羅列出所有可用的 python 替代版本信息:
如果出現以上所示的錯誤信息,則表示 Python 的替代版本尚未被update-alternatives命令識別。想解決這個問題,我們需要更新一下替代列表,將python2.7和python3.4放入其中。
--install選項使用了多個參數用於創建符號鏈接。最後一個參數指定了此選項的優先順序,如果我們沒有手動來設置替代選項,那麼具有最高優先順序的選項就會被選中。這個例子中,我們為/usr/bin/python3.4設置的優先順序為2,所以update-alternatives命令會自動將它設置為默認 Python 版本。
接下來,我們再次列出可用的 Python 替代版本。
現在開始,我們就可以使用下方的命令隨時在列出的 Python 替代版本中任意切換了。
3、移除替代版本
一旦我們的系統中不再存在某個 Python 的替代版本時,我們可以將其從update-alternatives列表中刪除掉。例如,我們可以將列表中的 python2.7 版本移除掉。
❷ Linux Centos YUM 與 Python 的重裝損壞修復記錄
系統版本:CentOS 7.4
在嘗試安裝 Python3 時,不慎刪除了 Python2,導致 yum 壞損,Python2 也被移除。經過國內外網路搜索,花費三天時間才解決此問題。
由於本人對 yum 命令和 Python 的了解有限,以下是在處理過程中總結的關鍵點,供參考:
1. yum 命令由 Python 編寫(Python 2),因此沒有安裝 Python 2 無法使用,通常使用 Python 2.7。
2. Python 2 的安裝方法有兩種:下載源碼編譯安裝或使用 rpm 命令安裝。嘗試了多種方法後,最終通過 rpm 安裝成功。
3. 在重裝 yum 和 Python 之前,請先刪除殘留文件,參考以下命令:
4. 開始安裝前,先下載依賴包。由於沒有 yum,需要手動下載,以下為所需包,版本號和文件名可能有所不同,但主名稱一致。下載時注意系統版本(含 x86_64 的文件名)。
下載的包如下:
這些文件放置在同一目錄下,但仍可能缺少依賴包。可能是版本太新或太舊,導致各種問題。請參考下一步操作。
5. 使用 rpm 命令安裝,遇到提示缺少依賴包的錯誤時,到源鏡像中查找所需依賴包,下載到目錄中。
6. 如果所有 *.rpm 文件都安裝完成後,說明安裝已完成,但可能無法使用。由於 yum 是 Python 編寫的軟體(解釋型開發語言可以直接查看源碼),因此必須先確保 Python 安裝成功後再安裝 yum。執行 python -V 大概率不會有問題。如果出現問題,請先解決 rpm 安裝 Python2.7 的問題。
如果此時輸入 yum 命令,可能會直接報錯。錯誤原因可能如下:
1. 查看 /usr/bin 目錄下是否所有 python 命令都存在,執行 ls python* 查看結果,應有 python、python2、python2.7 等命令,可以執行查看是否有問題。如有問題,請先解決 rpm 安裝 Python2.7 的問題。
2. 可能是 Python 系統環境變數未設置。請參考以下操作:(非常重要的一步)
如果這一步不正確,會有各種缺少 Python 模塊的提示:No mole named xxxxxxx。
3. 以上步驟設置不正確,因此調試了 vi /usr/bin/yum 代碼,查看 sys.path 路徑。從另一台伺服器查看路徑後,在 /usr/bin/yum 中增加代碼,強制指定目錄,如下:
在 import sys 後增加路徑,最後兩行被注釋的 print... 和 exit... 代碼用於調試對比目錄,可以嘗試修改。
4. 將 Python 庫路徑添加到配置,不知道這一步是否有用,可以嘗試。
5. 此時執行 yum 命令時,可能仍會出現相同問題,例如報缺:No mole named sos.plugins 或 from yum import Errors 缺 No mole named Errors 等。在 vi /usr/share/yum-cli/yummain.py 代碼中,我在 import yum 後用 print(yum) 列印出來,顯示類似以下內容:
會顯示 import yum 的文件位置,.pyc 格式文件是做什麼的,可以自行搜索。現在這步【【【【很重要】】】,我把這個文件重命名了,然後 yum 命令就恢復了,哈哈。
6. 實際測試發現,yum 命令只恢復了一半,因為各種 yum 命令執行一半時會報錯,例如:No mole named urlgrabber.grabber。這是因為另一個地方的環境變數未設置正確。參考第 3 步強制添加的環境變數目錄的方法,將 sys.path 添加到該文件:vi /usr/libexec/urlgrabber-ext-down。
7. 此時應該已恢復,使用 python 命令安裝 pip 吧。有自動化安裝腳本,可以下載。
8. 總結:
1. Python 2.7 是基礎,在安裝 yum 和 pip 之前必須先解決 Python 問題。安裝 Python 的難點在於 rpm 的依賴包;安裝 yum 的關鍵在於系統環境目錄的設置,因為 yum 使用到 Python 的模塊。
2. 國內找到的解決方案基本相同,但無法解決我的問題。感覺像是疑難雜症。在國外網站上找到解決思路後,感覺過程非常折騰!