ImportError: cannot import name md5

44,482

Solution 1

I'm using macOS, fix this by brew unlink openssl && brew reinstall python@2


From comment, python@2 is no longer available. This may work brew unlink openssl && brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/86a44a0a552c673a05f11018459c9f5faae3becc/Formula/[email protected]

Solution 2

I personally use and would recommend pyenv to manage Python versions. At first I was not sure how to fix this, and tried to re-install using brew as suggested here. However, I then recalled that I had used pyenv to install and so I was able to fix my error with.

pyenv install -f 2.7.15

The -f option forces the installation of that version even if it already exists on your system. You would need to use 2.7.16 or whatever version you would like it to use.

The python-build that pyenv uses will use the openssl library from brew if it's available.

Solution 3

I got this error on Python 2.7.14. Upgrading to 2.7.17 solved the issue for me.

Share:
44,482
Chelsea Ip Tze Hwan
Author by

Chelsea Ip Tze Hwan

Updated on May 02, 2021

Comments

  • Chelsea Ip Tze Hwan
    Chelsea Ip Tze Hwan about 3 years

    Don't really know what's going on here, I need to deploy my flask app on elastic beanstalk but somehow changed the path and can't run python application.py anymore

    [dotnet --info]
    .NET Core SDK (reflecting any global.json):
     Version:   2.1.701
     Commit:    8cf7278aa1
    
    Runtime Environment:
     OS Name:     Mac OS X
     OS Version:  10.14
     OS Platform: Darwin
     RID:         osx.10.14-x64
     Base Path:   /usr/local/share/dotnet/sdk/2.1.701/
    
    Host (useful for support):
      Version: 2.1.12
      Commit:  ccea2e606d
    
    [brew -v]
    Homebrew 2.2.0
    Homebrew/homebrew-core (git revision 43ad0; last commit 2019-11-30)
    

    I've already done these steps too :

    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include
    

    Still got this error:

    File "/Users/ipchelsea/Library/Python/2.7/lib/python/site-packages/urllib3/util/ssl_.py", line 8, in <module>
        from hashlib import md5, sha1, sha256
    ImportError: cannot import name md5
    

    When I do [brew link --force openssl], I get below:

    Warning: Refusing to link macOS-provided software: [email protected]
    
    ERROR:root:code for hash md5 was not found.
    Traceback (most recent call last):
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
        globals()[__func_name] = __get_hash(__func_name)
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
        raise ValueError('unsupported hash type ' + name)
    ValueError: unsupported hash type md5
    ERROR:root:code for hash sha1 was not found.
    Traceback (most recent call last):
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
        globals()[__func_name] = __get_hash(__func_name)
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
        raise ValueError('unsupported hash type ' + name)
    ValueError: unsupported hash type sha1
    ERROR:root:code for hash sha224 was not found.
    Traceback (most recent call last):
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
        globals()[__func_name] = __get_hash(__func_name)
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
        raise ValueError('unsupported hash type ' + name)
    ValueError: unsupported hash type sha224
    ERROR:root:code for hash sha256 was not found.
    Traceback (most recent call last):
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
        globals()[__func_name] = __get_hash(__func_name)
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
        raise ValueError('unsupported hash type ' + name)
    ValueError: unsupported hash type sha256
    ERROR:root:code for hash sha384 was not found.
    Traceback (most recent call last):
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
        globals()[__func_name] = __get_hash(__func_name)
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
        raise ValueError('unsupported hash type ' + name)
    ValueError: unsupported hash type sha384
    ERROR:root:code for hash sha512 was not found.
    Traceback (most recent call last):
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
        globals()[__func_name] = __get_hash(__func_name)
      File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
        raise ValueError('unsupported hash type ' + name)
    ValueError: unsupported hash type sha512
    Traceback (most recent call last):
      File "application.py", line 4, in <module>
        import urllib3
      File "/Users/ipchelsea/Library/Python/2.7/lib/python/site-packages/urllib3/__init__.py", line 8, in <module>
        from .connectionpool import (
      File "/Users/ipchelsea/Library/Python/2.7/lib/python/site-packages/urllib3/connectionpool.py", line 29, in <module>
        from .connection import (
      File "/Users/ipchelsea/Library/Python/2.7/lib/python/site-packages/urllib3/connection.py", line 38, in <module>
        from .util.ssl_ import (
      File "/Users/ipchelsea/Library/Python/2.7/lib/python/site-packages/urllib3/util/__init__.py", line 6, in <module>
        from .ssl_ import (
      File "/Users/ipchelsea/Library/Python/2.7/lib/python/site-packages/urllib3/util/ssl_.py", line 8, in <module>
        from hashlib import md5, sha1, sha256
    ImportError: cannot import name md5