'frozenset' 对象不可调用

'frozenset' object is not callable

当我尝试在任何上下文中导入 hashlib 时,它会抛出此错误:

File "<stdin>", line 1, in <module>
  File "build/bdist.macosx-10.11-intel/egg/hashlib.py", line 115, in <module>
    """
TypeError: 'frozenset' object is not callable

知道如何解决这个问题吗?我只是通过打开终端 运行 python 然后输入 import hashlib.

来产生这个错误

我昨天遇到了同样的问题,没有安装 Hashlib,尝试使用 pip 安装它会出现该错误。我通过使用 easy_install 安装它来修复它。

我还必须在 Windows 上安装 Scipy 和 Microsoft Visual C++ Compiler for Python 2.7,它们是 Hashlib

所必需的

我在 OSX (El Capitan) 上安装 hashlib 时遇到了这个问题,在 hashlib 的 pip 安装失败并使用 easy_install 重新尝试后。事后光是调用pip就出错了,更不用说加载hashlib了。

根本原因是 pip 在我的 sys.path 和 PYTHONHOME 中添加了错误的 egg 目录路径:

>>> import sys
>>> print sys.path
['', '/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg', '/Library/Python/2.7/site-packages/hashlib-20081119-py2.7-macosx-10.11-intel.egg', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', '/Library/Python/2.7/site-packages']

要修复,您可以删除直接引用的文件,在我的例子中:

rm /Library/Python/2.7/site-packages/hashlib-20081119-py2.7-macosx-10.11-intel.egg

我尝试只删除目录引用,但在探索 here 以识别属于我当前 python 版本的 site.py 和 site_packages.py 文件后,它定义了您的路径,然后查看 site_packages.py 从哪里加载它的路径,似乎具体的引用是直接通过 pip 添加的?所以我能想到的唯一解决方法是在 site.py 末尾硬编码一行以删除我在其他线程上看到的引用。

我找到的最佳解决方案是:

它允许使用 pip 毫无问题地安装 hashlib。

我在 Fedora 29 上收到了同样的消息。

我最终安装了 easy_install hashlib,但是,我必须先执行以下步骤:

dnf install python2-devel

在 Mac OS 我通过安装 easy_install hashlib 而不是 pip install hashlib

修复了它