python升级导致yum命令无法使用的解决办法

1、报错信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
[root@sa ~] # yum install prce -y
There was a problem importing one of the Python modules required to run yum. 
The error leading to this problem was:
    libxml2.so.2: cannot  open  shared object  file : No such  file  or directory
Please  install  a package  which  provides this module, or verify that the module 
is installed correctly.
It 's possible that the above module doesn' t match the current version of Python, 
which  is:
2.6.6 (r266:84292, Oct 12 2012, 14:23:48) 
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
If you cannot solve this problem yourself, please go to the yum faq at:
   http: //yum .baseurl.org /wiki/Faq


1
2
3
4
5
6
7
8
9
10
11
[root@sa yum.repos.d] # yum repolist
There was a problem importing one of the Python modules required to run yum. 
The error leading to this problem was:
    libxml2.so.2: cannot  open  shared object  file : No such  file  or directory
Please  install  a package  which  provides this module, or verify that the module 
is installed correctly.
It 's possible that the above module doesn' t match the current version of Python, 
which  is: 2.6.6 (r266:84292, Oct 12 2012, 14:23:48) 
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
If you cannot solve this problem yourself, please go to the yum faq at:  
http: //yum .baseurl.org /wiki/Faq

------------------------------------------------------------------------------------------------------------------------

错误原因:错误信息描述为 yum 所依赖的python 不相符,请安装相对应的python即可


2、查看yum版本

1
2
3
[root@develop  local ] # rpm -qa |grep yum
yum-3.2.8-9.el5.centos.1
yum-metadata-parser-1.1.2-2.el5



3、查看python版本

1
2
3
4
[root@develop  local ] # whereis python  
python:  /usr/bin/python2 .4  /usr/bin/python  /usr/lib/python2 .4 
/usr/local/bin/python2 .6  /usr/local/bin/python2 .6-config  /usr/local/bin/python 
/usr/local/lib/python2 .6  /usr/share/man/man1/python .1.gz


果然装了两个版本python


4、执行python,查看到使用2.6.1的版本

[plain]view plaincopyprint?

[root@develop local]# python  

Python 2.6.1 (r261:67515, Aug 7 2010, 11:36:17)  

[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2  

Type "help", "copyright", "credits" or "license" for more information.  

>>>  


5、猜测yum调用了高版本的python。


6、解决方法:

查找yum和 yum-updatest文件,并编辑此py文件

1
2
3
4
[root@develop  local ] # which yum  
/usr/bin/yum  
[root@develop  local ] # vi /usr/bin/yum  
[root@develop  local ] # vi /usr/bin/yum-updatest


#!/usr/bin/python

改为:

#!/usr/bin/python2.4


然后保存OK.


如果不修改/usr/bin/yum ,则yum无法使用

如果不修改/usr/bin/yum-updatest  会出现如下错误

 File "/usr/sbin/yum-updatesd", line 35, in

    import dbus

ImportError: No module named dbus


当然,修改完后记着

1
2
3
[root@localhost google_appengine] # /sbin/service yum-updatesd restart  
Stopping yum-updatesd:                                     [FAILED]  
Starting yum-updatesd:                                     [ OK   ]


补充:yum基于python写的。



本文转自 Mr_sheng 51CTO博客,原文链接:http://blog.51cto.com/sf1314/2062329

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值