Python 2.7 on OS X: TypeError: 'frozenset' object is not callable on each command
Asked Answered
D

2

2

I have this error on each my command with Python:

➜  /tmp sudo easy_install pip
Traceback (most recent call last):
  File "/usr/bin/easy_install-2.7", line 11, in 
    load_entry_point('setuptools==1.1.6', 'console_scripts', 'easy_install')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 357, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2394, in load_entry_point
    return ep.load()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2108, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/__init__.py", line 11, in 
    from setuptools.extension import Extension
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/extension.py", line 5, in 
    from setuptools.dist import _get_unpatched
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/dist.py", line 15, in 
    from setuptools.compat import numeric_types, basestring
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/compat.py", line 17, in 
    import httplib
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 80, in 
    import mimetools
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/mimetools.py", line 6, in 
    import tempfile
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 35, in 
    from random import Random as _Random
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py", line 49, in 
    import hashlib as _hashlib
  File "build/bdist.macosx-10.11-intel/egg/hashlib.py", line 115, in 
    """
TypeError: 'frozenset' object is not callable

What can I do with this?

Degenerate answered 3/8, 2016 at 19:8 Comment(7)
What can you do? Avoid calling it like_this(foo)Hydria
Looks like you have a broken hashlib.pyc file somewhere. Can you show us the output of python -v -m random? build/bdist.macosx-10.11-intel/egg/hashlib.py doesn't look like a standard library path, nor does the source code line shown make any sense.Driftage
you can refer this one #34083881Boxfish
@ganeshgadila: this is not in their own code, at least not yet proven so.Driftage
@MartijnPieters I have that output on python -v -m random: pastebin.com/f3YUf6ckDegenerate
@MartijnPieters Yes, it's strange. But I have found broken haslib package, I posted answer below.Degenerate
@Andre-487: yes, I see it listed in the -v output anyway; not 100% certain why the egg was skipped and the stdlib version was loaded there, but you found the culprit.Driftage
D
4

Removal of this package have helped me:

sudo rm -rf /Library/Python/2.7/site-packages/hashlib-20081119-py2.7-macosx-10.11-intel.egg
Degenerate answered 4/8, 2016 at 12:31 Comment(3)
Yes, that's a bad package; there is a hashlib module in the standard library that you don't want to mask.Driftage
I note that that package is meant for Python 2.4 and older; hashlib was added to the standard library in Python 2.5 and that is a backport.Driftage
Don't think this package exists in OSX mojave anymoreValentine
W
12

I had this problem too, but I also needed the hashlib package to be installed (On Debian).

The best solution that I found (Better then to install hashlib with easy_install) was from here: https://askubuntu.com/questions/770262/python-hashlib-fails-to-install-pip

And it is:

"The quick and dirty fix is to remove the /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so file"

After this it is possible to install hashlib with pip!

Woodring answered 26/10, 2016 at 10:25 Comment(1)
Works with Ubuntu too! Thanks.Longicorn
D
4

Removal of this package have helped me:

sudo rm -rf /Library/Python/2.7/site-packages/hashlib-20081119-py2.7-macosx-10.11-intel.egg
Degenerate answered 4/8, 2016 at 12:31 Comment(3)
Yes, that's a bad package; there is a hashlib module in the standard library that you don't want to mask.Driftage
I note that that package is meant for Python 2.4 and older; hashlib was added to the standard library in Python 2.5 and that is a backport.Driftage
Don't think this package exists in OSX mojave anymoreValentine

© 2022 - 2024 — McMap. All rights reserved.