首页 > 解决方案 > 无法启动 docker-compose 并在 No module 上失败

问题描述

我们在 Linux red-hat 7.2 上安装了 docker 和 docker-compose

说明 - 来自链接 - https://github.com/NaturalHistoryMuseum/scratchpads2/wiki/Install-Docker-and-Docker-Compose-(Centos-7)

Docker 运行良好

但是在 docker-compose 上,我们得到以下内容(我们安装了它 pip install docker-compose

docker-compose --version
Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 7, in <module>
    from compose.cli.main import main
  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 23, in <module>
    from ..bundle import get_image_digests
  File "/usr/lib/python2.7/site-packages/compose/bundle.py", line 12, in <module>
    from .config.serialize import denormalize_config
  File "/usr/lib/python2.7/site-packages/compose/config/__init__.py", line 6, in <module>
    from .config import ConfigurationError
  File "/usr/lib/python2.7/site-packages/compose/config/config.py", line 50, in <module>
    from .validation import match_named_volumes
  File "/usr/lib/python2.7/site-packages/compose/config/validation.py", line 12, in <module>
    from jsonschema import Draft4Validator
  File "/usr/lib/python2.7/site-packages/jsonschema/__init__.py", line 33, in <module>
    import importlib_metadata as metadata
  File "/usr/lib/python2.7/site-packages/importlib_metadata/__init__.py", line 15, in <module>
    from ._compat import (
  File "/usr/lib/python2.7/site-packages/importlib_metadata/_compat.py", line 19, in <module>
    from backports.configparser import ConfigParser
ImportError: No module named configparser

我们尝试了许多步骤来解决有关 docker-compose 失败的问题No module,但没有成功(每次在其他缺少的模块上失败)知道如何从这个阶段继续吗?

pip --version
pip 19.3.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)



[root@server_mangmnt01]# pip show docker-compose
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Name: docker-compose
Version: 1.25.0
Summary: Multi-container orchestration for Docker
Home-page: https://www.docker.com/
Author: Docker, Inc.
Author-email: None
License: Apache License 2.0
Location: /usr/lib/python2.7/site-packages
Requires: PyYAML, backports.ssl-match-hostname, texttable, enum34, ipaddress, subprocess32, jsonschema, dockerpty, websocket-client, docker, cached-property, backports.shutil-get-terminal-size, docopt, six, requests
Required-by:



[root@server_mangmnt01]# pip show docker
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Name: docker
Version: 4.1.0
Summary: A Python library for the Docker Engine API.
Home-page: https://github.com/docker/docker-py
Author: None
Author-email: None
License: Apache License 2.0
Location: /usr/lib/python2.7/site-packages
Requires: six, ipaddress, backports.ssl-match-hostname, requests, websocket-client
Required-by: docker-compose

标签: pythondockerdocker-composepipredhat

解决方案


就我而言: docker-compose 不支持 python2 但是 CentOS 中的 yum 不支持 python3 - 记住它!

对于切换 python 版本,我在 python 形式 python2 到 python3 上的 /usr/bin 符号链接中替换

PS 在 CentOs 我使用午夜指挥官 (mc) 看截图

在此处输入图像描述


推荐阅读