1. 程式人生 > >python(學習)四、 centos下python與yum重灌

python(學習)四、 centos下python與yum重灌

因為學習 tensorflow,安裝了python2.7 ,只是安裝後刪除了python2.6 ,某天使用yum的時候,發現yum不能使用了。除了顯示No module named yum外,還提示dont match current version  2.7.14. 上網搜尋了一下,主要是說因為python2.7 與  Centos 6.5的yum不匹配,因為yum是基於python寫的,所以報錯了,建議是修改yum中的python指向,可是一波好多折,下面說一下整個過程。

下面說一下解決過程:

一、首先想到的解決辦法是,重灌python2.6,然後修改yum 檔案,將python指向新安裝的python2.6

1、重灌python2.6

 從python官網上下在python 壓縮包,在centos6.5系統上, 重新執行

./configure

make 

make install

手工驗證python確實安裝成功:  python -version 顯示當前版本為 2.6.6

2、修改yum

        vim /usr/bin/yum      將#!/usr/bin/python 改為 #!/usr/bin/python2.6 

        可是啟動 yum  還是報錯誤

   

       這下有點抓瞎了,想不明白為啥這麼衰。

二、解除安裝yum

一不做二不休,反正python已經重灌了,直接把yum解除安裝了重灌。 之所以重灌,是因為事先從網上下載了一些yum rpm包,可是這下安裝就報各種依賴錯誤。 

準備的安裝包如下:

-rw-r--r-- 1 root root   37052 Dec 19 15:51 python-iniparse-0.3.1-2.1.el6.noarch.rpm
-rw-r--r-- 1 root root 1019540 Feb 24  2013 yum-3.2.29-40.el6.centos.noarch.rpm
-rw-r--r-- 1 root root   27224 Sep 26  2011 yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
-rw-r--r-- 1 root root   28220 Jun 25  2012 yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

解除安裝命令:

rpm -qa | grepyum| xargs rpm -e --nodeps      

        安裝命令:

先要安裝python-iniparse-0.3.1-2.1.el6.noarch.rpm ,可是安裝這個就提示缺少  python(abi),查了一下,這個就是python的基本包,痛苦萬分

三、再次解除安裝python 並安裝 python2.6.6

       現在懷疑是python 通過原始碼安裝,不完整。於是網上找python2.6.6 rpm包,辛苦找了一圈,要麼不可用,要麼下載不了。苦惱的時候,想起來,python2.6.6 既然是centos自帶的,那麼安裝檔案應該有這些包才對。

開啟centos的iso檔案,進入packages目錄,果然發現一堆的rpm包,結合網上資料,選取下面rpm包,傳到我的centos系統上:

-rw-r--r-- 1 root root   75716 Nov 25  2013 python-2.6.6-51.el6.x86_64.rpm
-rw-r--r-- 1 root root  174644 Nov 25  2013 python-devel-2.6.6-51.el6.x86_64.rpm
-rw-r--r-- 1 root root 5582212 Nov 25  2013 python-libs-2.6.6-51.el6.x86_64.rpm
-rw-r--r-- 1 root root   78440 Jul  6  2011 python-pycurl-7.19.0-8.el6.x86_64.rpm
-rw-r--r-- 1 root root   87096 Jul 30  2013 python-urlgrabber-3.9.1-9.el6.noarch.rpm
一開始想用rpm -ivh  包名安裝,發現會有相互依賴,索性一起安裝,  rpm -ivh  py*rpm

這下python是妥妥的安裝了

       四、重新安裝 yum

重新安裝 yum,先安裝 yum metadata(元資料)包,還是比較順利的。


       在安裝noarch包的實時,還會報一個錯誤

這個提示是指,依賴於  rpm-python 和另外yum的 plugin-fastestmirror。先安裝 rpm-python包,從centos 的iso安裝檔案裡面,解出rpm-python-4.8.0-55.el6.x86_64.rpm 來安裝。由於yum的norach 與plugin包也存在依賴關係,所以可以直接  rpm -ivh  yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm  yum-3.2.29-40.el6.centos.noarch.rpm 一起安裝。看到進度條,這下放心了。

手工執行一下yum,


看到yum開始工作,ok,搞定!

五、rpm包共享

python和yum重灌,這麼辛苦,很大程度上是找安裝包。所以將此次的安裝包上傳到csdn上,供大家使用。

http://download.csdn.net/download/csolo/10165185 可以下載文中的rpm包