'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
修复了它
当我尝试在任何上下文中导入 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