Python升级后YUM报错终极解决方案

Linux发行版本:CentOS6.5,好多Linux发行版本都默认安装Python,但是有些安装的版本比较低,可能不适合我们开发所需要的版本,一般要对Python版本进行升级。

Python升级

1
2
3
4
5
6
7
首先下载Python-2.7.5.tar.bz2的包。官网下载
解压:tar -jxvf Python-2.7.5.tar.bz2
进入 Python-2.7.5 目录:cd Python-2.7.5
安装Python2.7.5
./configure –prefix=/usr/local/python2.7
make
make install

这样2.7.5版本的Python就安装完成了,但是 Python -V 系统还是现实的之前的版本,现做如下操作:

1
2
3
4
5
cd /usr/bin/     #进入到相应的目录
ll py* #查看该目录下面python的内容,如下图
rm -rf python2 #此处是个软连接
mv python python.bak #备份
ln -s /usr/local/python2.7/bin/python /usr/bin/python #创建新的软连接

python安装文件
此时再执行 Python -V 则显示的是Python2.7.5。到此处Python升级算是完成了。

YUM报错

但是此时执行 yum 就会报如图所示的错误。
YUM-ERROR

解决方案如下:

1. vim /usr/bin/yum 第一行代码如下:#!/usr/bin/python 
2. 修改如下: #!/usr/bin/python2.6

此时全部都解决完成。这也是网上很常见的解决方案

特殊情况

但是如果感觉自己已经升级完Python了,可以把2.6的删除掉了。执行 whereis python 找出关于2.6的python文件或者目录,统统删除掉。此时再次执行yum还是报原来的错误,这说明YUM是依赖Python的并且版本要相对应。你可能尝试重新安装python2.6(从网上下载对应版本)或者从光盘安装,或者你可能卸载掉YUM重新安装一个与Python2.7相对应的YUM,但是这好像统统无效(自己测试无效,不代表全部)

终极解决方案如下:
Python、YUM 统统卸载掉。卸载方案如下:

1
2
rpm -qa | grep python #查询与python有关的程序
rpm -e [packageName] #卸载相应的包,此处可能有依赖,要有耐心,一个一个的卸载

按照如上方法下载YUM。

全部卸载完成之后,mount 光盘,按装光盘里面的如下包,如图
python-re-install
将这些包单独复制到指定目录下,安装

1
2
rpm -ivh python*.rpm
rpm -ivh rpm-python*.rpm yum*.rpm

此处若还有依赖,请一一安装。安装完成之后就恢复到升级Python版本之前的内容了。

现在再次升级Python,记住不要再删除系统自带的版本。

坚持原创技术分享,您的支持将鼓励我的继续创作