2012-11-15 58 views
2

我试过了几次搜索,我不认为这有问题,但如果这是重复请原谅我。我试图使用python-2.7上的urllib从网页中读取。非常简单的应用程序,我想要做的就是从页面中获取一些文本。不幸的是,下面的代码:urlopen在linux上找不到“哈希代码”的错误

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 

我已经尝试了很多谷歌的搜索,但没有什么翻回了迄今已非常有用。有任何想法吗?

+1

您需要安装openssl库并在python中重新编译哈希模块;没有openssl这些哈希格式不被支持。 –

+0

谢谢@MartijnPieters,由于ajon提供的链接,我发现他们。 –

回答

2

下页解释了你需要安装软件包:

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 
+1

只包含链接的答案是[认为不好的做法](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers)。请总结这里的内容(不要复制/粘贴),这样答案就可以独立运作。如果你不这样做,那么你的答案就会被删除,特别是如果链接死亡的话。 –

+0

感谢您的快速回答,即使它确实依赖链接。页面上概述的解决方案(请访问http://code.krypto.org/python/hashlib/,并使用 'tar xvfz hashlib-20081119.tar.gz; cd安装tar.gz cd hashlib-20081119; python setup.py install' 解决了这个问题。 –