You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用Ansible安装docker-compose模块失败的解决方法

问题原因分析

  1. pip安装失败的原因:你使用的是Python 3.12,但旧版docker-compose(1.29.2)依赖的PyYAML<6版本(如5.4.1)不兼容Python 3.12,编译时触发AttributeError: cython_sources错误。
  2. Ansible任务报错的原因:由于docker-compose Python包未安装成功,Ansible的docker_compose模块找不到所需的compose库,因此抛出ModuleNotFoundError。

解决方案

方案一:使用docker-compose CLI替代Python库(推荐)

旧版docker-compose Python包已被官方弃用,现在推荐使用Docker官方的docker-compose CLI工具。修改Ansible任务使其调用CLI而非Python库即可:

  1. 安装docker-compose CLI(macOS下可通过Homebrew安装:brew install docker-compose,若已安装Docker Desktop,通常自带该工具)。
  2. 修改Ansible任务,添加use_cli: true参数:
- name: stop existing common abbooom docker containers
  community.docker.docker_compose:
    project_src: ../
    state: absent
    use_cli: true

方案二:使用兼容的Python版本安装Python库

若坚持使用Python库,需切换到支持PyYAML<6的Python版本(如3.11):

  1. 安装Python 3.11(macOS下:brew install python@3.11)。
  2. 配置Ansible使用Python 3.11执行pip安装任务:
- name: install ansible docker-compose
  ansible.builtin.pip:
    name: docker-compose
  vars:
    ansible_python_interpreter: /opt/homebrew/bin/python3.11

也可在inventory文件中全局设置Python解释器:

[localhost]
localhost ansible_python_interpreter=/opt/homebrew/bin/python3.11

内容的提问来源于stack exchange,提问作者Bogdan Dubyk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 20:27:01