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

1、报错信息如下:

[plain]view plain copy

 print?

  1. [root@develop bin]# yum  
  2. [root@develop local]# yum -y install prce  
  3. There was a problem importing one of the Python modules  
  4. required to run yum. The error leading to this problem was:  
  5.   
  6.   
  7.    No module named yum  
  8.   
  9.   
  10. Please install a package which provides this module, or  
  11. verify that the module is installed correctly.  
  12.   
  13.   
  14. It’s possible that the above module doesn’t match the  
  15. current version of Python, which is:  
  16. 2.6.1 (r261:67515, Aug 7 2010, 11:36:17)  
  17. [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)]  
  18.   
  19.   
  20. If you cannot solve this problem yourself, please go to  
  21. the yum faq at:  
  22. http://wiki.linux.duke.edu/YumFaq  









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





2、查看yum版本

[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版本

[plain]view plain copy

 print?

  1. [root@develop local]# whereis python  
  2. 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 plain copy

 print?

  1. [root@develop local]# python  
  2. Python 2.6.1 (r261:67515, Aug 7 2010, 11:36:17)  
  3. [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2  
  4. Type “help”, “copyright”, “credits” or “license” for more information.  
  5. >>>  









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





6、解决方法:

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

[plain]view plain copy

 print?

  1. [root@develop local]# which yum  
  2. /usr/bin/yum  
  3. [root@develop local]# vi /usr/bin/yum  
[plain]view plain copy

 print?

  1. [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 <module>
    import dbus
ImportError: No module named dbus