ImportError: No module named ssl_match_hostname when importing the docker SDK for Python

前端 未结 8 650
失恋的感觉
失恋的感觉 2021-02-04 03:49

In order to use the Docker SDK for Python, I\'m trying to import docker in a Python script, but it\'s resulting in an ImportError with the following tr

8条回答
  •  清歌不尽
    2021-02-04 04:25

    Let me explain the root cause of the issue. python looks for 'backports' directory, when it is found, python looks for 'ssl_match_hostname' subdirectory. If it is not found, it is an error. In other words if one has '/usr/lib.../backports' and no '/usr/lib.../backports/ssl_match_hostname' (any backport installed by apt), it is pointless to use pip to install anything in /usr/local/lib or in /home.

    If we have a collision between distro and pip:

    dpkg-query -S /usr/lib/python2.7/dist-packages/backports
    apt remove all_found_packages
    pip install whatever_you_need
    

    If we have a collision between global and local pip do similar trick.

    It is handy to use strace to solve such issues.

提交回复
热议问题