使用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
此错误...
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
版本。