没有名为rpm的模块 – 当我在shell上调用yum时

我在CentOS的linux os上安装了python 2.7.5和mod_wsgi。 这发生了:

# yum Error processing line 1 of /usr/local/lib/python2.7/site-packages/abrt.pth: Traceback (most recent call last): File "/usr/local/lib/python2.7/site.py", line 152, in addpackage exec line File "<string>", line 1, in <module> ImportError: No module named abrt_exception_handler Remainder of file ignored Traceback (most recent call last): File "/usr/bin/yum", line 22, in <module> import yummain File "/usr/share/yum/yummain.py", line 22, in <module> import clientStuff File "/usr/share/yum/clientStuff.py", line 18, in <module> import rpm ImportError: No module named rpm 

yum模块不能运行,因为rpm模块不存在。 我不知道如何安装python-rpm模块,如果我安装它,它会工作吗?

谢谢。

你不应该触摸你的系统的Python安装。 更新sysem的python版本应该留给分发。

如果你需要一个更新的版本,然后安装它,但保持它与系统版本分开。

你应该恢复原来的/usr/bin/python – 它通常是一个符号链接(在这种情况下是/usr/bin/python2.6

你可能想要删除并重新安装python2.7,因为从一个版本复制模块(特别是如果它们包含二进制扩展名)会导致问题。 使用新的python版本直接安装你需要的软件包:

 python2.7 setup.py ... 

如果您希望mod_wsgi使用较新版本,请使用WSGIPythonHome指令将其指向正确的前缀( /usr/local )。

我有类似的问题,我所做的是手动下载旧版本的Python并重新安装它与rpm:

 $ rpm -qa | grep python- | grep 2.6 $ sudo rpm -ivh --force ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.5/x86_64/updates/fastbugs/python-2.6.6-52.el6.x86_64.rpm 

重新安装python之后,我的yum工作正常。