在 ubuntu 18 上编译 OpenWRT 15.05(Chaos Calmer)的samba模块的时候,碰到了以下的错误信息:
code for hash %s was not found.
code for hash %s was not found.
code for hash %s was not found.
code for hash %s was not found.
code for hash %s was not found.
code for hash %s was not found.
-
原因
- Python缺少hashlib 解决方法
- 安装hashlib
$ sudo apt install python-pip
$ pip install hashlib
安装 hashlib 的时候可能会碰到以下错误信息
$ pip install hashlib
Collecting hashlib
Downloading https://files.pythonhosted.org/packages/74/bb/9003d081345e9f0451884146e9ea2cff6e4cc4deac9ffd4a9ee98b318a49/hashlib-20081119.zip (42kB)
100% |████████████████████████████████| 51kB 113kB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/setuptools/__init__.py", line 12, in <module>
import setuptools.version
File "/usr/lib/python2.7/dist-packages/setuptools/version.py", line 1, in <module>
import pkg_resources
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 36, in <module>
import email.parser
File "/usr/lib/python2.7/email/parser.py", line 12, in <module>
from email.feedparser import FeedParser
File "/usr/lib/python2.7/email/feedparser.py", line 27, in <module>
from email import message
File "/usr/lib/python2.7/email/message.py", line 16, in <module>
import email.charset
File "/usr/lib/python2.7/email/charset.py", line 13, in <module>
import email.base64mime
File "/usr/lib/python2.7/email/base64mime.py", line 40, in <module>
from email.utils import fix_eols
File "/usr/lib/python2.7/email/utils.py", line 27, in <module>
import random
File "/usr/lib/python2.7/random.py", line 49, in <module>
import hashlib as _hashlib
File "hashlib.py", line 115, in <module>
f()
TypeError: 'frozenset' object is not callable
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-0YPsTC/hashlib/
参考https://askubuntu.com/questions/770262/python-hashlib-fails-to-install-pip
删除/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so
后再安装hashlib即可。
(因为是dirty way,建议备份/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so
)
$ sudo mv /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so ~/_hashlib.x86_64-linux-gnu.so.bak
$ pip install hashlib