2015-12-04 10 views
11

Gdy próbuję zaimportować hashlib w dowolnym kontekście, to rzuca ten błąd:„frozenset” obiekt nie jest wymagalne

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 

Jakiś pomysł jak mogę rozwiązać ten problem? Generuję ten błąd po prostu otwierając Terminal, uruchamiając python, a następnie wpisując import hashlib.

+0

Spróbuj z innego katalogu roboczego. –

+0

To nie zadziałało. –

+0

Naprawiłem to, ponieważ usunąłem kilka plików hashlib.py. Jednak teraz nie jest zainstalowany i próba zainstalowania go za pomocą pip lub easy_install daje taki sam błąd setset. –

Odpowiedz

8

Wczoraj miałem ten sam problem, Hashlib nie został zainstalowany, a próba instalacji za pomocą pip spowodowałaby ten błąd. Naprawiłem to, instalując go, używając zamiast tego easy_install.

Również musiałem zainstalować scipy i Microsoft Visual C++ Compiler for Python 2.7 w systemie Windows, byli zobowiązani do Hashlib

+4

ten sam błąd. 'easy_install hashlib' pomógł mi –

2

miałem ten problem z zainstalowaniem hashlib na OSX (El Capitan), po nieudanej pip zainstalować z hashlib i ponownie attemp użyciu easy_install . Po zdarzeniu miałem błędy tylko wywołujące pip, nie mówiąc już o ładowaniu hashlib.

głównej przyczyną było złe pip dodawania katalogów jajko ścieżkę do mojego sys.path i 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'] 

naprawić, można usunąć plik odwołuje się bezpośrednio, w moim przypadku:

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

Próbowałem usunąć tylko odwołanie do katalogu, ale po przejrzeniu here w celu zidentyfikowania pliku site.py i site_packages.py należącego do mojej bieżącej wersji pythona, który definiuje twoje ścieżki, a następnie przyjrzał się miejscu, w którym plik site_packages.py ładował jego ścieżki. wydaje się, że spec odniesienie ific jest dodawane bezpośrednio przez pip? więc jedynym rozwiązaniem, o jakim myślałem, było potencjalnie trudne zakodowanie linii na końcu pliku site.py w celu usunięcia odwołania, które widziałem w innych wątkach.

Powiązane problemy