BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #1581同步于 2014/7/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

Python3.2.3 lib中hashlib的问题

CURElyreas
2014/7/9镜像同步1 回复
由于软件安装需要使用python3,可是启动软件时报错,说random.py importerror,原来random.py(/usr/local/lib/python3.2下)中有如下导入 from hashlib import sha512 as _sha512 然后我就去hashlib.py(路径同上)中查看,发现hashlib中有如下代码 def __get_builtin_constructor(name): try: if name in ('SHA1', 'sha1'): import _sha1.cpython-32m return _sha1.sha1 elif name in ('MD5', 'md5'): import _md5 return _md5.md5 elif name in ('SHA256', 'sha256', 'SHA224', 'sha224'): import _sha256 bs = name[3:] if bs == '256': return _sha256.sha256 elif bs == '224': return _sha256.sha224 elif name in ('SHA512', 'sha512', 'SHA384', 'sha384'): import _sha512 bs = name[3:] if bs == '512': return _sha512.sha512 elif bs == '384': return _sha512.sha384 except ImportError: pass # no extension module, this hash is unsupported. 很明显,可以导入_sha512的。 但是为什么没导呢?我又去python2.7下尝试了import hashlib,一切正常。在python2.7的lib中我发现了_MD5.so,_SHA1.so,_SHA256.so,_SHA512.so等,而python3.2的lib中没有,很奇怪。 google之,发现python3.2的pkg中是有上述文件的.不管了,我把2.7下的拷过来。。。结果不能用。。。无奈之下,只好删掉了random.py中的相关代码,去掉了导入,勉强运行。。。。 求问,有同学知道python3.2的hashlib这里是怎么回事吗?坑了我2个多小时
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
reverland机器人#1 · 2014/7/9
重装……py3