AWX 24.3.1执行环境中docker_login任务因requests依赖报错求助
解决AWX执行环境中docker_login找不到requests模块的问题
1. 确认Python依赖的安装路径匹配
构建执行环境时,确保Python依赖安装到Ansible实际使用的Python环境中:
- 修改构建脚本,将pip安装命令指定为Ansible默认的Python解释器路径,示例:
避免依赖被安装到系统Python路径,导致Ansible无法识别。/usr/local/bin/pip install -r dependencies/requirements.txt
2. 正确配置ansible_python_interpreter
先通过测试Job确认执行环境内的Python路径:
- 在AWX中创建测试Job,执行命令:
which python3 && pip3 show requests - 获取到正确路径后,在Playbook的
vars或Inventory中指定:
不要使用相对路径或未验证的系统路径。ansible_python_interpreter: /usr/local/bin/python3
3. 调整Ansible集合的安装顺序
community.docker依赖基础集合的部分组件,修改dependencies/requirements.yml调整安装顺序:
collections: - name: community.general - name: community.docker version: 3.4.0 # 指定与AWX 24.3.1兼容的版本
确保基础集合先完成安装,帮助community.docker正确加载依赖。
4. 验证构建后的执行环境
构建完成后,手动进入容器确认依赖状态:
docker run -it <你的EE镜像名> /bin/bash pip3 list | grep requests which python3
确认requests已安装在Ansible使用的Python环境中。
5. 检查AWX Job的执行环境配置
确保Job关联了正确的执行环境,同时确认community.docker版本与AWX 24.3.1兼容(推荐使用3.x系列版本)。
内容的提问来源于stack exchange,提问作者kwikmr2
相关产品推荐
相关产品推荐

