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写的。