Python2.6导入md5时运行错误
我下载了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支持吧?