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