2013-07-05 31 views
2

我在centos linux os上安裝了python 2.7.5和mod_wsgi。發生這種情況:no module named rpm - 當我在shell上調用yum時

# 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模塊,如果我安裝它,它會工作嗎?

謝謝。

+1

'/ usr/local/lib'聽起來不對。你有沒有機會替換你的系統的Python?這通常是一個壞主意。 – mata

+0

其實,是的,我已經改變了活躍的蟒蛇版本。在我將2.7.5安裝到/ usr/local/lib之前和之後安裝了Python 2.6。我想用這個版本的mod_wsgi,所以我改變了硬鏈接/ usr/bin/python>/usr/local/bin/python或類似的東西。 –

+0

我該如何解決這個問題? –

回答

1

你不應該觸摸你的系統的python安裝。更新sysem的python版本應該留給分發。

如果你需要更新的版本,然後安裝它,但保持它與系統版本分開。

你應該恢復原來的/usr/bin/python - 它通常是一個符號鏈接(在這種情況下/usr/bin/python2.6

您可能需要刪除並重新安裝python2.7,如複製模塊(特別是如果它們包含二進制擴展。 )從一個版本到另一個可能導致問題安裝你所需要直接使用新的Python版本的包:如果你想

python2.7 setup.py ... 

mod_wsgi使用較新的版本,使用WSGIPythonHome指令,它指向正確前綴(/usr/local)。

1

我有類似的問題,我所做的是手動下載舊版本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 

蟒重新安裝後,我的百勝正常工作。