web-dev-qa-db-ja.com

python module importについて文句を言うDocker composeスクリプト

Dockerスクリプトdocker-compose --versionが奇妙なエラーをスローし、python module 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
11
htopiwala

Docker-composeを再インストールするとうまくいきました。 docker-composeから/usr/local/binファイルを削除し、 here の指示に従って再インストールできます。

1
htopiwala

再インストールする必要があります。

以下は、Ubuntu 18.04で私のために働いた手順です

再インストール手順:

最初にremoveインストールされているdocker-composeバイナリ:

/usr/bin$ Sudo rm -r docker-compose
/usr/local/bin$ Sudo rm -r docker-compose

インストール:

cd ~/

Sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Sudo chmod +x /usr/local/bin/docker-compose

Sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

docker-compose --version

ここで詳細を読むことができます:https://docs.docker.com/compose/install/#install-compose

0
user3785966

urllib3バージョン1.22をインストールしてそれを実行し、シェルで次のコマンドを実行して以前のurllib3バージョンをアンインストールします

pip uninstall urllib3
pip install urllib3==1.22