Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'frozenset' object is not callable

When I attempt to import hashlib in any context, it throws this error:

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

Any idea how I can resolve this? I'm generating this error simply by opening up Terminal, running python and then typing import hashlib.

like image 276
Alex Beals Avatar asked Dec 04 '15 07:12

Alex Beals


People also ask

What does Frozenset mean in Python?

Python frozenset() Frozen set is just an immutable version of a Python set object. While elements of a set can be modified at any time, elements of the frozen set remain the same after creation. Due to this, frozen sets can be used as keys in Dictionary or as elements of another set.

Is Frozenset a data type in Python?

Overview. In Python, frozenset() is a function that takes an iterable and returns its frozenset object counterpart. A frozenset object is an immutable, unordered data type.

How do you access the elements of a Frozenset in Python?

Using generator : def get_frozenset_elements(frozen_set): for i in frozen_set: yield i gen_ = get_frozenset_elements(frozenset("Benyamin")) next(gen_) next(gen_) next(gen_) ... Using iterator : iter_ = iter(frozenset("Benyamin")) next(gen_) next(gen_) next(gen_) ...

Are Frozen sets iterable?

frozenset() in Python This function accepts iterable object as input parameter.


4 Answers

I had the same problem yesterday, Hashlib wasn't installed and trying to install it using pip would give that error. I fixed it by installing it using easy_install instead.

Also I had to install Scipy and Microsoft Visual C++ Compiler for Python 2.7 on Windows, they were required for Hashlib

like image 115
Lynob Avatar answered Oct 24 '22 10:10

Lynob


I had this problem installing hashlib on OSX (El Capitan), after a failed pip install of hashlib and re-attemp using easy_install. After the event, I had errors just calling pip, let alone loading hashlib.

Root cause was pip adding a bad egg directory path to my sys.path and 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']

To fix, you can delete the file referenced directly, in my case:

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

I tried deleting just the directory reference, but after exploring here to identify the site.py and site_packages.py file belonging to my Current python version, which defines your paths, then looked at where site_packages.py was loading its paths from, it appears that the specific reference is added directly by pip? so the only workaround I could think of was to potentially hard code a line at the end of site.py to remove the reference, which I've seen on other threads.

like image 31
MariahOnFiah Avatar answered Oct 24 '22 09:10

MariahOnFiah


The best solution I found is this: https://stackoverflow.com/a/40259767/3689574

It allows to install hashlib with pip with no problems.

like image 35
user3689574 Avatar answered Oct 24 '22 10:10

user3689574


I had this same message on Fedora 29.

I ended up installing with easy_install hashlib, however, I had to do the following steps first:

dnf install python2-devel
like image 1
Bert Avatar answered Oct 24 '22 10:10

Bert