2010-12-12 16 views
0

我有一個用來運行一個python腳本,但由於在工作中移動的服務器,現在拋出了一個奇怪的錯誤:錯誤導入模塊_m​​d5,以及相關RPM

>>> import _md5 
    ImportError: No module named _md5 

一般的設置是正確的,因爲是我的蟒蛇路徑,看起來像其他所有東西。有人告訴我,我需要安裝相關的RPM才能工作,但不知道這可能是什麼 - 任何人都可以請我指出正確的方向嗎?

這些機器的設置禁止我使用yum,所以我需要向那些維護系統的用戶請求安裝哪個RPM。

+0

你在有問題的服務器上安裝了什麼版本的Python?據我所知,md5模塊已經標準化了一段時間,然後從Python 2.5開始不推薦使用,而是支持'hashlib'模塊,該模塊實現了幾種流行的散列算法。它看起來像新的服務器有一些超舊的Python版本。請參閱http://docs.python.org/library/md5 ...和... http://docs.python.org/library/hashlib.html – 2010-12-12 22:49:21

+0

Python 2.5.4,謝謝我將通讀他們,但這似乎表明hashlib可能能夠解決這個問題?謝謝 – anthr 2010-12-12 22:53:23

回答

1

安裝openssl-devel並重建。

或者更好的是,建立你自己的Python包並隨處部署。

2

基於來自OP的額外信息,他們在新服務器上使用Python 2.5+。 建議的補救措施是使用標準hashlib模塊。其中提供了MD5哈希實現。

+0

'hashlib'也依賴'_md5'。 – 2010-12-12 23:00:55

+0

謝謝 - 我試過「import hashlib」而不是「import md5」,但仍然遇到與「import_md5 ImportError:No module named _md5」相同的問題。 – anthr 2010-12-12 23:15:17

+0

這是莫名其妙的。我能想到的唯一兩個解釋是:1)安裝在該服務器上的Python是用MD5關閉顯式編譯的(我不知道它是否可能),或2)Python安裝在某種程度上被癱瘓(例如,當它搜索'sys.path'爲了導入'_md5',沒有找到具有_md5庫的路徑)。 – 2010-12-13 21:16:40