ImportError:导入Docker SDK for Python时,没有名为ssl_match_hostname的模块
为了使用Python的Docker SDK ,我试图在Python脚本中import docker
,但是导致了一个ImportError
和下面的跟踪:
Traceback (most recent call last): File "/home/kurt/dev/clones8/ipercron-compose/furion/iclib/tests/test_utils/docker_utils.py", line 1, in <module> import docker File "/home/kurt/.local/lib/python2.7/site-packages/docker/__init__.py", line 6, in <module> from .client import Client, AutoVersionClient, from_env # flake8: noqa File "/home/kurt/.local/lib/python2.7/site-packages/docker/client.py", line 11, in <module> from . import api File "/home/kurt/.local/lib/python2.7/site-packages/docker/api/__init__.py", line 2, in <module> from .build import BuildApiMixin File "/home/kurt/.local/lib/python2.7/site-packages/docker/api/build.py", line 9, in <module> from .. import utils File "/home/kurt/.local/lib/python2.7/site-packages/docker/utils/__init__.py", line 2, in <module> from .utils import ( File "/home/kurt/.local/lib/python2.7/site-packages/docker/utils/utils.py", line 19, in <module> from .. import tls File "/home/kurt/.local/lib/python2.7/site-packages/docker/tls.py", line 5, in <module> from .ssladapter import ssladapter File "/home/kurt/.local/lib/python2.7/site-packages/docker/ssladapter/__init__.py", line 1, in <module> from .ssladapter import SSLAdapter # flake8: noqa File "/home/kurt/.local/lib/python2.7/site-packages/docker/ssladapter/ssladapter.py", line 21, in <module> from backports.ssl_match_hostname import match_hostname ImportError: No module named ssl_match_hostname [Finished in 0.2s with exit code 1] [shell_cmd: python -u "/home/kurt/dev/clones8/ipercron-compose/furion/iclib/tests/test_utils/docker_utils.py"] [dir: /home/kurt/dev/clones8/ipercron-compose/furion/iclib/tests/test_utils] [path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin]
奇怪的是,导入确实在其他地方工作,例如在iPython提示符下:
Python 2.7.12 (default, Nov 19 2016, 06:48:10) Type "copyright", "credits" or "license" for more information. IPython 2.4.1 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]: import docker In [2]:
为什么在第一种情况下import不起作用?
我在本地安装了backports.ssl-match-hostname
,这阻止了它在系统级安装。 我解决了它
sudo pip uninstall backports.ssl-match-hostname
其次是
sudo pip install --upgrade docker
- 如何发送configuration到docker集装箱?
- 在Python PyCharm的subprocess中运行docker
- 如何在我的项目中find包python的sha256import?
- Google Container Engine stdout日志不显示
- 如何避免Dockerfile中的大型二进制文件caching失效(Python_Onbuild)
- 正确使用Docker的pip
- 如何在Docker容器中运行psutil?
- 将Docker容器重置/恢复到原始图像状态的最佳方法
- 在Docker中运行的Python / Flask中运行Vision API演示时的StatusCode.UNAUTHENTICATED