Python2.6导入md5时运行错误

0 投票
1 回答
2635 浏览
提问于 2025-04-17 00:06

我下载了Python 2.6,并在Solaris 10操作系统上安装了它。这个系统本来就自带了Python 2.4。不过,当我尝试导入md5模块时,出现了这个错误:

 import md5
__main__:1: DeprecationWarning: the md5 module is deprecated; use hashlib instead
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/local/lib/python2.6/md5.py", line 10, in 
    from hashlib import md5
  File "/usr/local/lib/python2.6/hashlib.py", line 136, in 
    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

PYTHONPATH=/usr/local/lib/python2.6

1 个回答

3

请查看 http://docs.python.org/library/md5.html:

从2.5版本开始,这个功能已经不推荐使用了:请改用 hashlib 模块。

对你来说变化不大——你只需要导入 hashlib 模块,然后用 hashlib.md5() 替代 md5.new() 就可以了。

补充说明:不过,我刚刚确认在Python 2.6中,md5模块虽然会显示警告,但通常还是能正常导入。它会自动转而加载 hashlib,这在你的情况中似乎也是这样。接着,hashlib 会导入 _md5 模块,如果我没理解错的话,这个模块是直接编译进Python里的。我猜你的Python版本是编译时没有包含MD5支持吧?

撰写回答