python升级导致yum无法使用的解决办法 /usrbin/yum 和 /usr/bin/yum-updatest

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



当然,修改完后记着

[plain] view plain copy print ?
  1. [root@localhost google_appengine]# /sbin/service yum-updatesd restart  
  2. Stopping yum-updatesd:                                     [FAILED]  
  3. Starting yum-updatesd:                                     [  OK  ]  


补充:yum基于python写的。

你可能感兴趣的:(Linux操作系统)