由于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
显示出命令列表就可以了
四、总结
这样应该就没什么了。网络上给了乱七八糟的各种各样的,总有一款适合你。