1、報錯信息如下:
-
[root@develop bin]# yum
-
[root@develop local]# yum -y install prce
-
There was a problem importing one of the Python modules
-
required to run yum. The error leading to this problem was:
-
-
-
No module named yum
-
-
-
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.1 (r261:67515, Aug 7 2010, 11:36:17)
-
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)]
-
-
-
If you cannot solve this problem yourself, please go to
-
the yum faq at:
-
http://wiki.linux.duke.edu/YumFaq
錯誤原因:錯誤信息描述爲 yum 所依賴的python 不相符,請安裝相對應的python即可#
2、查看yum版本
[root@develop local]# rpm -qa |grep yumyum-3.2.8-9.el5.centos.1yum-metadata-parser-1.1.2-2.el5#
3、查看python版本
-
[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的版本
-
[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文件
-
[root@develop local]# which yum
-
/usr/bin/yum
-
[root@develop local]# vi /usr/bin/yum
-
[root@develop local]# vi /usr/sbin/yum-updatesd
將#!/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
當然,修改完後記着
-
[root@localhost google_appengine]# /sbin/service yum-updatesd restart
-
Stopping yum-updatesd: [FAILED]
-
Starting yum-updatesd: [ OK ]
補充:yum基於python寫的。