"Failed to import docker or docker-py - cannot import name constants" 在 Ubuntu 19.04 上安装 AWX 时

"Failed to import docker or docker-py - cannot import name constants" when installing AWX on Ubuntu 19.04

我正在努力遵循这个: https://www.howtoforge.com/tutorial/how-to-install-ansible-awx-with-nginx-reverse-proxy-on-ubuntu-1804/

通过运行剧本在 ubuntu 19.04 上安装 AWX,我遇到了导入错误。

我尝试: pip 卸载 docker-py pip unsintall docker-compose pip 安装 docker-compose=1.9.0

也试试

pip 安装常量

Python 2.7.16(默认,2019 年 4 月 6 日,01:42:57) Linux2 上的 [GCC 8.3.0] 键入 "help"、"copyright"、"credits" 或 "license" 以获取更多信息。

import constants

我在安装 docker-compose 时收到此警告:

正在安装收集的包:docker-py,docker-compose 脚本 docker-compose 安装在不在 PATH 上的“/home/user/.local/bin”中。 考虑将此目录添加到 PATH,或者,如果您希望禁止显示此警告,请使用 --no-warn-script-location。 成功安装 docker-compose-1.9.0 docker-py-1.10.6

任务 [local_docker : 启动容器] ********************************* ****************************************************** ********************************** 致命的:[本地主机]:失败! => {"changed":错误,"msg":"Failed to import docker or docker-py - cannot import name constants. Try pip install docker or pip install docker-py (Python 2.6)"} 要重试,请使用:--limit @/home/user/awx/installer/install.retry

完整的追溯是: 警告:以下回溯可能 与实际故障有关。 文件“/tmp/ansible_docker_service_payload_Qt5pEa/main.py”,第 457 行,位于 从 compose.cli.command 导入 project_from_options 文件“/home/balacite/.local/lib/python2.7/site-packages/compose/cli/command.py”,第 11 行,在 从 。导入错误 文件“/home/balacite/.local/lib/python2.7/site-packages/compose/cli/errors.py”,第 10 行,位于 来自 docker.errors 导入 APIError 文件“/home/balacite/.local/lib/python2.7/site-packages/docker/init.py”,第 6 行,在 from .client import Client, AutoVersionClient, from_env # flake8: noqa 文件“/home/balacite/.local/lib/python2.7/site-packages/docker/client.py”,第 11 行,在 从 。进口 api 文件“/home/balacite/.local/lib/python2.7/site-packages/docker/api/init.py”,第 2 行,在 从 .build 导入 BuildApiMixin 文件“/home/balacite/.local/lib/python2.7/site-packages/docker/api/build.py”,第 9 行,在 从 .. 导入实用程序 文件“/home/balacite/.local/lib/python2.7/site-packages/docker/utils/init.py”,第 2 行,在 从 .utils 导入 ( 文件“/home/balacite/.local/lib/python2.7/site-packages/docker/utils/utils.py”,第 19 行,位于 从 .. 导入 tls 文件“/home/balacite/.local/lib/python2.7/site-packages/docker/tls.py”,第 5 行,在 从 .ssladapter 导入 ssladapter 文件“/home/balacite/.local/lib/python2.7/site-packages/docker/ssladapter/init.py”,第 1 行,在 从 .ssladapter 导入 SSLAdapter # flake8: noqa 文件“/home/balacite/.local/lib/python2.7/site-packages/docker/ssladapter/ssladapter.py”,第 21 行,在 来自 backports.ssl_match_hostname 导入 match_hostname

你能检查一下 docker 是否是 运行 吗?

做类似

的事情

docker ps

如果不是 运行 尝试 运行 pip install docker 如果出现任何错误请告诉我。

它 运行 我没问题 :

user@zaymaster:~$ sudo docker ps [sudo] 用户密码: 容器 ID 图像命令创建状态端口名称 用户@zaymaster:~$

问题已解决:

Ansible 正在使用 python3.7

  • pip3 安装docker-compose==1.9.0