2010-12-12 17 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