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

Ansible AAP执行环境运行Python脚本提示cryptocode模块缺失

问题根因

出现该现象的核心原因分两类,完全匹配你描述的故障特征:

  1. 任务实际未在你自定义的*Execution Environment(执行环境)*容器内运行,而是直接调用了物理执行节点的本地系统环境执行:
    当AAP(Ansible Automation Platform)的作业模板未正确绑定自定义EE、或执行节点配置了本地运行模式时,所有任务不会被封装到容器中执行,而是直接使用执行节点主机操作系统的Python和Ansible环境。这也直接解释了为什么你在执行节点本地通过pip3安装cryptocode后任务就恢复正常——任务自始至终都在调用主机本地的Python解释器,根本没有加载你存在quay.io上的EE镜像环境。
  2. 即使任务确实运行在EE容器内,你之前的镜像验证方式存在漏洞,包实际对运行作业的用户不可见:
    • AAP运行EE容器时默认使用UID为1000的非rootansible用户,而你执行podman run imagename pip3 list验证时默认以root用户进入容器,看到的是root用户视角下的已安装包列表。如果你构建镜像时把cryptocode安装到了root用户专属的个人包目录、或安装后包路径权限未对普通用户开放,非root的ansible用户运行时就会找不到包。
    • EE镜像内可能存在多个Python版本,你调用pip3安装包时绑定的Python解释器,和Playbook任务里python3命令指向的解释器不是同一个,导致装包路径和运行路径不匹配。
修复步骤

按以下顺序排查修复:

  1. 先确认EE绑定配置正确,确保任务跑在容器内
    • 登录AAP控制台,检查对应作业模板的Execution Environment配置项,确认选中的是你上传到quay.io的、预装了cryptocode的自定义镜像,而非默认基础EE。
    • 检查对应执行节点的配置,确认未开启主机本地直接运行Ansible的模式,保证执行节点会拉起EE容器承载作业运行。
    • 可在Playbook中加入如下调试任务验证实际运行环境:
      tasks:
        - name: Check actual runtime environment
          command: |
            whoami
            which python3
            python3 -c "import sys; print(sys.path)"
          register: runtime_check
        - debug:
            var: runtime_check.stdout_lines
      
      如果输出的whoami结果是执行节点主机的本地用户、which python3返回主机系统路径(如/usr/bin/python3),即可确认任务未进入EE容器运行,修正AAP侧的EE绑定配置即可解决。
  2. 若确认任务已在EE容器内运行,修复镜像内的包安装问题
    • 推荐使用ansible-builder的标准流程构建EE:将cryptocode写入构建上下文的requirements.txtPython依赖文件,由ansible-builder自动完成全局安装,保证所有用户都能访问到该包,避免权限和路径问题。
    • 如果手动通过Containerfile/Dockerfile构建镜像,必须明确指定和python3命令绑定的pip执行安装,同时修正包路径权限,保证非root用户可访问:
      RUN python3 -m pip install --no-cache-dir cryptocode && \
          chmod -R o+rX /usr/local/lib/python*/site-packages/
      
    • 放弃之前root用户下的pip list验证方式,模拟AAP实际运行用户验证包可用性,命令如下:
      podman run --user 1000 <你的自定义EE镜像名> python3 -c "import cryptocode; print('Import success')"
      
      该命令执行无报错才代表镜像符合运行要求。
补充说明

不推荐为了临时解决问题直接在执行节点主机上装依赖,该方式会破坏EE的环境一致性原则,后续节点扩容、迁移时会重复出现同类故障。

内容的提问来源于stack exchange,提问作者Navaneeth Sunil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 19:18:44