Python和hashlib模块

5

我刚刚从源代码安装了Python 2.6.6,得到的结果如下:

>>> import hashlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/hashlib.py", line 136, in <module>
    md5 = __get_builtin_constructor('md5')
  File "/usr/local/lib/python2.6/hashlib.py", line 63, in __get_builtin_constructor
    import _md5
ImportError: No module named _md5

你确定你有这个Python版本的所有更新吗?也许你正在使用一些已经过时的东西。我尝试了import hashlib. dir(hashlib._md5).,但结果是负面的。试试重新安装吧? - inspectorG4dget
@inspectorG4dget:它已经安装了10分钟。在Python 2.6和2.7中都是一样的。 - zerkms
你编译用的平台是什么?我发现在交叉编译时,hashlib 是最容易出问题的东西。 - Daniel Pryden
@Daniel Pryden:这是红帽子 Red Hat Enterprise Linux AS 版本4 (Nahant Update 4) - zerkms
如果你只是执行 import md5,会发生什么?你应该会收到一个弃用警告,而不是错误。如果你收到了错误,那么你的安装可能存在更大的问题。 - Nathan Ernst
@Nathan Ernst:是的,我收到了有关未找到_md5模块的弃用警告和堆栈跟踪。 - zerkms
3个回答

7

安装openssl-dev并重新构建。


0

你应该有一个md5.so文件,如果它不在你的Python路径上,我认为这可能会导致这个问题。我以前也遇到过这个问题。

如果这有帮助,请告诉我。


0

我刚刚在我的2.6.6安装上进行了测试,没有出现任何问题。您可能需要尝试重新安装。此外,我不确定hashlib模块是否可以单独安装,但您也可以尝试一下。

另外,请尝试从hashlib中导入特定函数并给出输出结果?

>>> from hashlib import sha512

因为如果您不需要MD5,您可以避免这个问题。


1
它已经安装了10分钟。我看不出重新安装会有任何帮助的原因。 - zerkms

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接