終極解決方案之——Centos7由於誤刪或更新python導致 No module named yum


之前由於不懂yum和python之間的關系,因為一直在學python3,看到系統里/usr/lib下的python2我就直接刪了,結果。。。

可能還有人是因為python升級的原因,即系統自帶的python2還在,但由於升級導致問題,現在就這兩個原因提出我的解決方案。

1.由於python升級導致yum無法使用

首先,不同版本的centos自帶的python版本不同,沒有所謂的到底python2.幾才能兼容yum,查看自帶python有兩種做法

1.which python

一般/usr/bin/python是一個鏈接,鏈向/usr/local/bin/python/bin/python,可以通過 ll 查看,故可以直接 ln -sf 系統自帶python/bin/python /usr/bin/python 重新鏈接到系統自帶的python即可,如果不更改鏈接,還可以修改/usr/bin/yum 修改文件第一行為系統自帶的python即可。

2.直接查看系統鏡像

隨便找個提供鏡像的源,如http://mirrors.ustc.edu.cn,然后 lsb_release -a 查看系統的發布版本,最后到相應的 Packages目錄下,查看python包的版本即可,如我的就是http://mirrors.ustc.edu.cn/centos/7.5.1804/os/x86_64/Packages/,可以查看如下格式的包 python-2.7.5-68.el7.x86_64.rpm

這個rpm包的包名意思就是python包,版本2.7.5,第68次編譯,發布商el7,cpu架構64位的。

 

2.由於誤刪python,導致yum不可用

對於這個問題,因為很多地方不懂,繞了不少遠路,一直靠重裝不同版本的python去試,呵呵,so silly

根據不需要你刻意去裝個python,你只需要重裝一個yum,因為會依賴python,也就順手把python也裝了

具體做法是

1.安裝具有如下軟件名的包,注意版本號和編譯次數參考你具體的鏡像源。

rpm -Uvh --replacepkgs python-2.7.5-68.el7.x86_64.rpm
rpm -Uvh --replacepkgs python-devel-2.7.5-68.el7.x86_64.rpm
rpm -Uvh --replacepkgs python-iniparse-0.4-9.el7.noarch.rpm
rpm -Uvh --replacepkgs python-pycurl-7.19.0-19.el7.x86_64.rpm
rpm -Uvh --replacepkgs python-setuptools-0.9.8-7.el7.noarch.rpm
rpm -Uvh --replacepkgs python-urlgrabber-3.10-8.el7.noarch.rpm
rpm -Uvh --replacepkgs rpm-python-4.11.3-32.el7.x86_64.rpm
rpm -Uvh --replacepkgs yum-3.4.3-158.el7.centos.noarch.rpm
rpm -Uvh --replacepkgs yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
rpm -Uvh --replacepkgs yum-NetworkManager-dispatcher-1.1.31-45.el7.noarch.rpm
rpm -Uvh --replacepkgs yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm

2.重要事情說三遍

1.先下載,可以使用wget

2.注意安裝順序,如果提示依賴的xxx包不在,則先安它

3.可以采用 -ivh安裝,但是偷偷告訴你,如果它提示已安裝,你就覺得不用安了,那是扯淡,一定要重新覆蓋掉才行,即--replacepkgs

4.如果安裝過程中遇到了其他問題,請自行根據提示信息解決,不行再去百度,因為這個東西,每個人的情況確實都不同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM