Объект 'frozenset' не может быть вызван
Когда я пытаюсь импортировать 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
.
Ответы
Ответ 1
У меня была такая же проблема вчера, Hashlib не был установлен, и попытка установить его с помощью pip даст эту ошибку. Я установил его, установив его с помощью easy_install.
Также мне пришлось установить Scipy и Microsoft Visual С++ Compiler для Python 2.7 в Windows, они были необходимы для Hashlib
Ответ 2
У меня возникла проблема с установкой hashlib на OSX (El Capitan) после неудачной установки пакета hashlib и re-attemp с помощью easy_install. После события у меня были ошибки, вызывающие только вызов, не говоря уже о загрузке hashlib.
Корневая причина заключалась в том, что pip добавлял путь к директории bad egg к моему sys.path и PYTHONHOME:
>>> 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
Я попытался удалить только ссылку каталога, но после изучения здесь, чтобы определить файл site.py и site_packages.py, принадлежащий моей текущей версии python, которая определяет вашу пути, а затем посмотрел, откуда загружался его путь к сайту_packages.py, похоже, что конкретная ссылка добавляется напрямую через pip? поэтому единственным обходным решением, о котором я мог думать, было потенциально жесткое кодирование строки в конце site.py для удаления ссылки, которую я видел в других потоках.
Ответ 3
Лучшее решение, которое я нашел, это:
fooobar.com/info/501027/...
Это позволяет установить hashlib с пипсом без проблем.