【问题标题】:Error from urlopen "code for hash not found" on linux来自linux上的urlopen“找不到哈希代码”的错误
【发布时间】:2012-11-15 15:50:44
【问题描述】:

我已经尝试了几次搜索,但我认为没有人问过这个问题,但如果这是重复的,请原谅我。我正在尝试在 python-2.7 上使用 urllib 来读取网页。非常简单的应用程序,我想做的就是从页面中获取一些文本。不幸的是以下代码:

import urllib
address = "http://google.co.uk"
page = urllib.urlopen(address)

返回一个关于未找到“哈希码”的错误:

 ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type %s' % name)
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type %s' % name)
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type %s' % name)
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type %s' % name)
ValueError: unsupported hash type sha512

我已经尝试了很多 Google 搜索,但到目前为止没有发现任何有用的信息。有什么想法吗?

【问题讨论】:

  • 需要安装openssl库并在python中重新编译hash模块;如果没有 openssl,则不支持这些哈希格式。
  • 谢谢@MartijnPieters,感谢ajon提供的链接,我找到了他们。

标签: python hash urlopen


【解决方案1】:

以下页面说明了您需要安装的软件包:

http://new2python.blogspot.com/2012/07/errorrootcode-for-hash-sha224-was-not.html

总结: 您需要使用以下命令安装 hashlib 库:

tar xvfz hashlib-20081119.tar.gz
cd hashlib-20081119
sudo python setup.py install

【讨论】:

  • 只包含链接的答案是considered bad practice。请在此处总结内容(请勿复制/粘贴),以便答案可以独立存在。如果您不这样做,您的答案将面临被删除的风险,尤其是在链接失效的情况下。
  • 感谢您的快速回答,即使它确实依赖于链接。页面上概述的解决方案(转到code.krypto.org/python/hashlib,并使用tar xvfz hashlib-20081119.tar.gz; cd hashlib-20081119; python setup.py install 安装tar.gz 解决了问题。
猜你喜欢
  • 2017-06-07
  • 2020-03-22
  • 2020-05-30
  • 1970-01-01
  • 2020-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多