Docker编写脚本抱怨python模块imp

2024-05-17 13:25:51 发布

您现在位置:Python中文网/ 问答频道 /正文

Docker脚本docker-compose --version现在抛出了一个奇怪的错误,并抱怨缺少python模块ordered_dict。不知道为什么会发生这种情况,但以前它工作得很好。不确定它是否相关,但我为python安装了pip,随后使用pip安装了awscli

下面是我在运行docker-compose --version时得到的堆栈跟踪

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 9, in <module>
    load_entry_point('docker-compose==1.8.0', 'console_scripts', 'docker-compose')()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 484, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2725, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2343, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2349, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/dist-packages/compose/cli/main.py", line 14, in <module>
    from . import errors
  File "/usr/lib/python2.7/dist-packages/compose/cli/errors.py", line 9, in <module>
    from docker.errors import APIError
  File "/usr/lib/python2.7/dist-packages/docker/__init__.py", line 20, in <module>
    from .client import Client, AutoVersionClient, from_env # flake8: noqa
  File "/usr/lib/python2.7/dist-packages/docker/client.py", line 18, in <module>
    import requests
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 58, in <module>
    from . import utils
  File "/usr/lib/python2.7/dist-packages/requests/utils.py", line 26, in <module>
    from .compat import parse_http_list as _parse_list_header
  File "/usr/lib/python2.7/dist-packages/requests/compat.py", line 42, in <module>
    from .packages.urllib3.packages.ordered_dict import OrderedDict
ImportError: No module named ordered_dict

Tags: composedockerinfrompyimportinitlib
2条回答

通过安装urllib3版本1.22和通过在shell中执行以下命令卸载以前的urllib3版本来完成此操作

pip uninstall urllib3
pip install urllib3==1.22

重新安装docker compose帮了我一把。您可以从/usr/local/bin中删除docker-compose文件,然后使用提供的here说明重新安装。

相关问题 更多 >