CENTOS手动安装修复python ,YUMCENTOS手动安装修复YUM
CENTOS手動安裝修復YUM
?2019年3月8日??Comments?0 Comment
目錄?[hide]
- 一、問題場景
- 二、手動修復
- 2.1 下載 rpm 包
- 2.2 安裝 rpm 包
- 2.3 可以使用了
- 三、python 升級小建議
一、問題場景
centos 上的 python 版本默認比較低,很多同學都會手動升級 python 的版本到 3.x。
因為 yum 的代碼是依賴 python2.x 的,如果直接刪除老版本 python ,會導致 yum 不可用。
# 報錯核心語句 No module named yum這個情況必須手動修復,很多同學因為修復失敗而重裝了系統,這樣成本會很高。
這里以 centos7.5 x64 為例子,進行修復演示。
?
二、手動修復
2.1 下載 rpm 包
centos 官方下載網站是?http://mirror.centos.org/centos/。選擇國內鏡像網站會快一些。這里使用的是 mirrors.ustc.edu.cn。
首頁就有各個方向的目錄鏈接。
進到 7.5 對應的目錄?http://mirrors.ustc.edu.cn/centos/7.5.1804/, 發現這里是空的。不過這沒有關系,同一個大版本號下, rpm 包是兼容的。所以可以使用 7.6 目錄下的包。
http://mirrors.ustc.edu.cn/centos/7.6.1810/os/x86_64/Packages/?,這里就是我們所需的 python 和 yum 包 所在地。
下載如下包
# python 部分 python-backports-1.0-8.el7.x86_64.rpm python-pycurl-7.19.0-19.el7.x86_64.rpm python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm python-ipaddress-1.0.16-2.el7.noarch.rpm python-setuptools-0.9.8-7.el7.noarch.rpm python-urlgrabber-3.10-9.el7.noarch.rpm python-2.7.5-76.el7.x86_64.rpm python-iniparse-0.4-9.el7.noarch.rpm python-libs-2.7.5-76.el7.x86_64.rpm python-devel-2.7.5-76.el7.x86_64.rpm rpm-4.11.3-35.el7.x86_64.rpm rpm-python-4.11.3-35.el7.x86_64.rpm # yum 部分 yum-3.4.3-161.el7.centos.noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm?
2.2 安裝 rpm 包
先安裝 python。
運行 rpm 命令。這里一定要加?--replacefiles --replacepkgs?參數, 因為需要覆蓋一些老文件老包,不加的話會提示文件沖突或者包已經安裝過了。
sudo rpm --replacefiles --replacepkgs -ivh python-backports-1.0-8.el7.x86_64.rpm python-pycurl-7.19.0-19.el7.x86_64.rpm python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm python-ipaddress-1.0.16-2.el7.noarch.rpm python-setuptools-0.9.8-7.el7.noarch.rpm python-urlgrabber-3.10-9.el7.noarch.rpm python-2.7.5-76.el7.x86_64.rpm python-iniparse-0.4-9.el7.noarch.rpm python-libs-2.7.5-76.el7.x86_64.rpm python-devel-2.7.5-76.el7.x86_64.rpm rpm-4.11.3-35.el7.x86_64.rpm python-2.7.5-76.el7.x86_64.rpm rpm-4.11.3-35.el7.x86_64.rpm rpm-python-4.11.3-35.el7.x86_64.rpm輸出為
warning: package python-2.7.5-76.el7.x86_64 was already added, skipping python-2.7.5-76.el7.x86_64 warning: package rpm-4.11.3-35.el7.x86_64 was already added, skipping rpm-4.11.3-35.el7.x86_64 Preparing... ################################# [100%] Updating / installing... 1:python-libs-2.7.5-76.el7 ################################# [ 8%] 2:python-2.7.5-76.el7 ################################# [ 17%] 3:python-backports-1.0-8.el7 ################################# [ 25%] 4:python-pycurl-7.19.0-19.el7 ################################# [ 33%] 5:python-ipaddress-1.0.16-2.el7 ################################# [ 42%] 6:python-backports-ssl_match_hostna################################# [ 50%] 7:rpm-4.11.3-35.el7 ################################# [ 58%] 8:rpm-python-4.11.3-35.el7 ################################# [ 67%] 9:python-setuptools-0.9.8-7.el7 ################################# [ 75%] 10:python-urlgrabber-3.10-9.el7 ################################# [ 83%] 11:python-iniparse-0.4-9.el7 ################################# [ 92%] 12:python-devel-2.7.5-76.el7 ################################# [100%]
再安裝 yum,同樣也要加?--replacefiles --replacepkgs。
輸出為
這里一定要注意,必須出現進度條 100% 的 輸出,才是安裝成功了。
不同版本的系統,需要的包可能不太一樣,當運行安裝命令時,可能會提示有一些依賴包缺失。
這種情況下,可以根據提示下載響應的依賴包,添加到?rpm -ivh?的列表中。
2.3 可以使用了
嘗試運行下 yum。
yum --version
輸出為
?
三、python 升級小建議
-
最好編譯安裝 python 包到一個獨立的目錄,需要使用高版本 python 時,直接指定此版本的可執行文件路徑即可。
-
千萬不要刪除老版本 python, yum 本身自己升級兼容可能還需要很久,當前還是會依賴系統默認的 python。
轉載于:https://www.cnblogs.com/fengwenit/p/10555784.html
總結
以上是生活随笔為你收集整理的CENTOS手动安装修复python ,YUMCENTOS手动安装修复YUM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue入门手册整理
- 下一篇: Python+Selenium+Unit