升级python导致yum无法使用的解决方法,有遇到类似问题的朋友可以参考下。
我们知道,YUM包管理是使用Python编写的,如果单独对Python进行升级可能会导致YUM服务无法使用。
出现这种情况的主要原因在于新安装的Python没有YUM服务所依赖的Packages。
可以尝试在Python中执行import yum语句,如果Python此时抛出异常则表示YUM无法正常运行。
一般情况下出现的问题为:No module named rpm,如果这时没有rpm-python的安装包,那么就需要来重新build一个,这个package被包含在了rpm代码当中,所以先要到rpm.org网站上下载对应机器上rpm版本的源码包,然后解压,执行./configure,进入python子目录,执行make install。安装完成后,退出python子目录,执行python,再次import yum,查看是否不再出现No module named rpm,如果依然出现可以检查一下安装路径的配置。需要注意的是:1.没有必要对整个rpm进行安装,只需要对python子目录的部分进行安装;2.在执行import yum前,一定要先退出python子目录,否则python会以当前目录下的rpm目录作为rpm包的目录位置,而不会去引用site-packages目录下的rpm,会导致出现No module named _rpm异常。
rpm下载地址http://rpm.org/wiki/Download
除了rpm-python,其他需要的一些package:
urlgrabber http://linux.duke.edu/projects/urlgrabber/download/
iniparse http://code.google.com/p/iniparse/
yum-metadata-parser http://yum.baseurl.org/download/yum-metadata-parser/
解压后执行python setup.py install,进行安装。
最后再次在Python执行import yum,如果不在抛出异常则表示修复成功。这时yum就可以正常使用了。