由於CentOS6.8裡自帶的yum所依賴的python是2.6.66版本,但是安裝pip至少要求python是2.7版本,因而原有的2.6並不能解除安裝,又得安裝新的2.7.之前安裝的時候強制解除安裝了2.6導致無法識別yum模組,進而又重新安裝了一遍yum。第一部分是介紹了正常情況下安裝python2.7,第二部分是安裝pip,第三部分是重新安裝yum的步驟以及相關可能出現的問題。
一,安裝python2.7
參考部落格:
CentOS 6.9安裝Python2.7.13 – 特里 – 部落格園,
CentOS升級Python2.6到Python2.7並安裝pip – SXY的部落格 – CSDN部落格
在centos6.5環境下搭建多版本python(python2.6、python2.7、python3.5)共存環境
(關於這個方法,我能找到的最初的部落格是這個,但可惜已經打不開了。)
①檢視系統版本以及python版本號
cat /etc/redhat-release
python -V
②安裝配置環境
為了防止後面提醒缺少東西,就先把這些安裝上
yum -y update yum groupinstall `Development Tools` yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel
特別說明一下,如果zlib-devel沒安裝的話,後面安裝pip會有一個關於zlib的報錯。同樣要是openssl-devel沒安裝,會有WARNING – [xxxx] Load Crypto.Cipher.ARC4 Failed, Use Pure Python Instead.類似的報錯。
③安裝python
python最新版本下載地址:https://www.python.org/downloads/
python2.7.15下載地址:https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
tar -zxvf Python-2.7.15.tgz
cd Python-2.7.15
./configure --prefix=/usr/local
make all
make altinstall
make clean
這裡用的是make altinstall,是為了不影響原有的python,但是我安裝的時候用的是make install,後面也沒什麼影響。
ln -s /usr/local/bin/python2.7 /usr/bin/python
將連結指向新的版本。再次查詢的python版本的時候應該就是2.7.15了
④解決yum的問題
vi /usr/bin/yum
將第一行 #!/usr/bin/python 改為 #!/usr/bin/python2.6
這樣yum也能照常用了。
二,安裝pip
參考網站:Installation — pip 18.1 documentation
之前根據前面參考部落格中的方法,使用setuptools安裝pip,並沒有成功,因而這個就不再安裝setuptools了。這裡用官方給的方法就行。
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py
我在這遇到了ssl的問題,導致在安裝完openssl後,又重灌了一次python,並且配置命令改成了
./configure --with-ssl
其他的一些問題官網也有介紹。
三、安裝yum
參考部落格:centos 解除安裝python和yum之後的解決辦法 – 風雪之殤 – 部落格園
由於之前的失誤解除安裝了python2.6,導致沒法使用yum。我試了下,哪怕重新裝會python2.6也沒用。出現的問題和上面部落格中提及的一樣。no module named yum。
①解除安裝python與yum
rpm -qa|grep python|xargs rpm -e --allmatches --nodeps whereis python|xargs rm -fr rpm -qa|grep yum|xargs rpm -e --allmatches --nodeps rm -rf /etc/yum.repos.d/* whereis yum|xargs rm -fr
②安裝python
在參考部落格裡面給出的映象站中,現在已經不再提供6.9及其以前的rpm包了,推薦使用這個:http://vault.centos.org/6.8/os/x86_64/Packages/ 。其中6.8為centos的版本號,x86_64為64位系統
mkdir /usr/local/src/python cd /usr/local/src/python
wget http://vault.centos.org/6.8/os/x86_64/Packages/python-2.6.6-64.el6.x86_64.rpm wget http://vault.centos.org/6.8/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm wget http://vault.centos.org/6.8/os/x86_64/Packages/python-pycurl-7.19.0-9.el6.x86_64.rpm wget http://vault.centos.org/6.8/os/x86_64/Packages/python-devel-2.6.6-64.el6.x86_64.rpm wget http://vault.centos.org/6.8/os/x86_64/Packages/python-libs-2.6.6-64.el6.x86_64.rpm wget http://vault.centos.org/6.8/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm wget http://vault.centos.org/6.8/os/x86_64/Packages/rpm-python-4.8.0-55.el6.x86_64.rpm
rpm -ivh python-* rpm-python-*
這有可能有已經安裝的包有了依賴關係,只需要解除安裝了重灌就好,具體的看參考部落格,我沒遇到就不寫了。
③安裝yum
mkdir /usr/local/src/yum cd /usr/local/src/yum wget http://vault.centos.org/6.8/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpm wget http://vault.centos.org/6.8/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm wget http://vault.centos.org/6.8/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
rpm -ivh yum-*
④測試
yum
顯示出命令列表就可以了
四、總結
這樣應該就沒什麼了。網路上給了亂七八糟的各種各樣的,總有一款適合你。