安装docker-compose时出错(def _collat e(* iterables,key = lambda a:a,reverse = False)

问题描述 投票:0回答:1

使用apt-get install docker-compose安装它后,在检查/执行docker-compose -v cmd时观察到以下错误。请提出如何解决此问题的建议?

  Traceback (most recent call last):
  File "/usr/local/bin/docker-compose", line 7, in <module>
    from compose.cli.main import main
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 23, in <module>
    from ..bundle import get_image_digests
  File "/usr/local/lib/python2.7/dist-packages/compose/bundle.py", line 12, in <module>
    from .config.serialize import denormalize_config
  File "/usr/local/lib/python2.7/dist-packages/compose/config/__init__.py", line 6, in <module>
    from .config import ConfigurationError
  File "/usr/local/lib/python2.7/dist-packages/compose/config/config.py", line 50, in <module>
    from .validation import match_named_volumes
  File "/usr/local/lib/python2.7/dist-packages/compose/config/validation.py", line 12, in <module>
    from jsonschema import Draft4Validator
  File "/usr/local/lib/python2.7/dist-packages/jsonschema/__init__.py", line 33, in <module>
    import importlib_metadata as metadata
  File "/usr/local/lib/python2.7/dist-packages/importlib_metadata/__init__.py", line 9, in <module>
    import zipp
  File "/usr/local/lib/python2.7/dist-packages/zipp.py", line 12, in <module>
    import more_itertools
  File "/usr/local/lib/python2.7/dist-packages/more_itertools/__init__.py", line 1, in <module>
    from more_itertools.more import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/more_itertools/more.py", line 340
    def _collate(*iterables, key=lambda a: a, reverse=False):

SyntaxError: invalid syntax

以下是用于安装docker compose以及python,pip,docker repo的Ansible代码:

   - name: Install Python 2.7.12
      raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)

    - name: Install pip
      apt:
          name: python-pip
          update_cache: yes
          state: latest
      become: true
      become_method: sudo

    <code to add docker repo  , docker package >   

    - name: Install Docker-py (pegged to version 1.9 to work around bug referenced at https://github.com/StanfordBioinformatics/loom/issues/205)
      pip: name=docker

    - name: Download and install docker-compose to /usr/local/bin
      pip: name=docker-compose
python python-2.7 docker docker-compose
1个回答
1
投票

此错误...

  File "/usr/local/lib/python2.7/dist-packages/more_itertools/more.py", line 340
    def _collate(*iterables, key=lambda a: a, reverse=False):

SyntaxError: invalid syntax

...表示代码使用的是适用于Python 3的语法,但您使用的是Python2。这可能是打包错误,但是您在问题中没有提供足够的信息来弄清楚这一点。如果您想更新问题以表明您正在运行的发行版和版本,我们可以调查解决方法。

错误来自more-itertools软件包。您可以通过运行以下方法来解决此特定问题:

pip install more-itertools==5.0.0

这将安装与Python 2兼容的more-itertools版本。

© www.soinside.com 2019 - 2024. All rights reserved.