众所周知,Centos7自带了Python,Centos7.3的版本是2.7.5。在大多数情况下,这个版本的Python都是能很好满足你的需求的。然鹅,我们很多时候需要使用3.x版本,比如TensorFlow最新版就需要Python3.5。如果你一时鸡冻,直接卸载了Python2.7.5装了个3.X版本的Python。呵呵,别得意的太早,我要恭喜你就摊上大事了,yum不能用了。因为可爱的yum是依赖Python2.7的,好啦,以后不能愉快的安装软件了。
这可肿么办?肿么办?肿么办?
遇到这种灾难性的问题,各种雕虫小技已经不管用,只能使放大招了,卸载重装。别鸡冻,重装不是只重装系统,是重装Python和yum。
卸载
1、卸载Python
rpm -qa|grep python|xargs rpm -e --allmatches --nodeps
whereis python|xargs rm -fr
2、卸载yum
rpm -qa|grep yum|xargs rpm -e --allmatches --nodeps
rm -rf /etc/yum.repos.d/*
whereis yum|xargs rm -fr
重装
1、下载Python安装包
感谢我大天朝有辣么一群可爱的雷锋,比如163镜像站,各种开源软件应有尽有,而且下载速度那叫一个嗖嗖的快。
废话不多说,直接上链接http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/
注意 :清根据自己的系统版本选择对应的package, 我的系统是7.3的,就对应7.3.1611。啥?你不知道系统版本是多少。那我就大发慈悲的告诉你,cat /etc/redhat-release
我们需要下载的rpm文件列表:
- python-libs-2.7.5-48.el7.x86_64.rpm,被python依赖
- python-2.7.5-48.el7.x86_64.rpm
- python-iniparse-0.4-9.el7.noarch.rpm, 被yum依赖
- python-pycurl-7.19.0-19.el7.x86_64.rpm, 被python-urlgrabber依赖
- python-urlgrabber-3.10-8.el7.noarch.rpm , 被yum依赖
- rpm-python-4.11.3-21.el7.x86_64.rpm , 被yum依赖
下载好了以后,最好按照上面的顺序依次安装,至少python-libs-2.7.5-48.el7.x86_64.rpm
一定要先安装。
安装命令
rpm -ivh xxx.rpm
xxx.rpm请注意替换成上面的文件名
2、下载yum安装包
yum安装包列表:
- yum-3.4.3-150.el7.centos.noarch.rpm, 就是它依赖了上面的python库
- yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
- yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm
安装命令同上
结束
好了大功告成!!!你可以试一下yum和python都恢复到之前的状态,各种姿势都没问题。至于那个被干掉的3.X版本Python,想再次安装,建议源码编译安装,和Python2.7共存,具体操作方法参考我另外一篇文章[[安装Python3.6]]。