web-dev-qa-db-ja.com

python hashlibはpipのインストールに失敗します

Hashlibに依存するスクリプトがありますが、Sudo pip install hashlibを試してみると、次のようになります。

$ Sudo pip install hashlib
Collecting hashlib
  Downloading hashlib-20081119.Zip (42kB)
    100% |████████████████████████████████| 51kB 610kB/s 
    Complete output from command python setup.py Egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/lib/python2.7/dist-packages/setuptools/__init__.py", line 12, in <module>
        from setuptools.extension import Extension
      File "/usr/lib/python2.7/dist-packages/setuptools/extension.py", line 8, in <module>
        from .dist import _get_unpatched
      File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 16, in <module>
        from setuptools.depends import Require
      File "/usr/lib/python2.7/dist-packages/setuptools/depends.py", line 6, in <module>
        from setuptools import compat
      File "/usr/lib/python2.7/dist-packages/setuptools/compat.py", line 17, in <module>
        import httplib
      File "/usr/lib/python2.7/httplib.py", line 80, in <module>
        import mimetools
      File "/usr/lib/python2.7/mimetools.py", line 6, in <module>
        import tempfile
      File "/usr/lib/python2.7/tempfile.py", line 35, in <module>
        from random import Random as _Random
      File "/usr/lib/python2.7/random.py", line 49, in <module>
        import hashlib as _hashlib
      File "hashlib.py", line 115, in <module>
        f()
    TypeError: 'frozenset' object is not callable

    ----------------------------------------
Command "python setup.py Egg_info" failed with error code 1 in /tmp/pip-build-BbiB5F/hashlib/

これを修正するにはどうすればよいですか?

6
j0h

同じエラーがありました。 easy_install hashlibを試してください

7
ThP

最新のUbuntu 16デスクトップでも同じ問題が発生しました。
迅速かつ汚い修正は、/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so fileを削除することです。

6
ohm42

/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.soを削除した後、もう1ステップ実行する必要があります

Sudo pip install python-dev

その後、Sudo pip install hashlibを正常に実行します。

1
BMW