最近在Centos上安裝了Python2.7,這樣linux系統上存在多個python版本,結果yum命令出現錯誤,提示為:“No module named yum”,通過修改yum命令檔案,替換為python的正確路徑解決了yum 無法使用的問題。
yum命令具體的錯誤資訊如下:
[root@10-8-69-125 ~ ]# yumThere was a problem importing one of the Python modulesrequired to run yum. The error leading to this problem was: No module named yumPlease installa package whichprovides this module, orverify that the module is installed correctly.It 's possible that the above module doesn't match thecurrent version of Python, whichis:2.7.3 (default, May 29 2017, 16:44:21 )[GCC 4.4.7 20120313 (Red Hat 4.4.7-18 )]If you cannot solve this problem yourself, please go to the yum faq at: http://yum.baseurl.org/wiki/Faq
Bash
Copy
這是因為 yum 使用python編寫,如果在Linux中安裝多個python版本,則會出現“No module named yum”的錯誤,解決方案是更換Yum使用的python版本路徑。
解決“No module named yum”1、尋找python 的當前路徑
使用whereis python 命令尋找,可以看到目前centos系統中安裝了兩個python版本,分別為python2.6和python2.7。
[root@10-8-69-125 ~ ]# whereis pythonpython: /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python2.7 /usr/local/bin/python /usr/local/bin/python2.7-config /usr/local/lib/python2.7 /usr/include/python2.6 /usr/share/man/man1/python.1.gz
Bash
Copy
2、修改/usr/bin/yum檔案
開啟/usr/bin/yum檔案,替換為python的正確路徑,即可解決問題。將檔案中的#!/usr/bin/python修改為
#!/usr/bin/python2.6
Bash
Copy
然後儲存即可。
修改後的/usr/bin/yum檔案內容如下圖:
這樣yum無法使用的問題解決了,再次使用yum ,就可以正常使用了:
[root@10-8-69-125 ~ ]# yum 已載入外掛程式:fastestmirror你需要給出命令Usage: yum [options ]COMMANDList of Commands:check Check forproblems inthe rpmdbcheck-update 檢查是否有軟體封裝更新clean 刪除緩衝的資料deplist 列出軟體包的依賴關係distribution-synchronization Synchronize installed packages to the latest available versionsdowngrade downgrade a packageerase 從系統中移除一個或多個軟體包groupinfo 顯示組的詳細資料groupinstall 向系統中安裝一組軟體包grouplist 列出可安裝的組groupremove 從系統中移除一組軟體包 help顯示用法資訊 historyDisplay, or use, the transaction historyinfo 顯示關於軟體包或組的詳細資料 install向系統中安裝一個或多個軟體包list 列出一個或一組軟體包load-transaction load a saved transaction from filenamemakecache 建立中繼資料快取provides 尋找提供指定內容的軟體包reinstall 覆蓋安裝一個包repolist 顯示已配置的倉庫resolvedep 判斷哪個包提供了指定的依賴search 在軟體包詳細資料中搜尋指定字串shell 運行互動 yum 外殼update 更新系統中的一個或多個軟體包upgrade 更新軟體包同時考慮軟體包取代關係version Display a version forthe machine and/or available repos.
Bash
Copy