Подтвердить что ты не робот

Объект '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.

4b9b3361

Ответ 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 с пипсом без проблем.