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

Windows实例CodeDeploy执行Python钩子报Exec format错误如何解决

错误原因

Errno::ENOEXEC 格式执行错误是因为Windows环境下的CodeDeploy代理无法直接识别.py后缀脚本的默认执行程序,会尝试直接执行文件本身而非调用Python解释器,触发格式不兼容报错。

解决方案

可以选择以下任意一种方式修复:

方案1:给Python脚本添加shebang声明

在verify_deployment.py的第一行添加解释器声明,CodeDeploy的Windows代理可识别该声明自动调用对应解释器:

#!python
print("hello")

如果Python没有添加到系统PATH,可替换为Python可执行文件的全路径,示例:

#!C:\Python311\python.exe
print("hello")

方案2:修改appspec.yml显式指定解释器执行

直接在生命周期钩子配置中调用Python解释器执行脚本,无需修改脚本内容,两种配置可选:

调用cmd执行

ValidateService:
  - location: cmd.exe
    args:
      - /c
      - python scripts\verify_deployment.py
    timeout: 900

调用PowerShell执行

ValidateService:
  - location: powershell.exe
    args:
      - -ExecutionPolicy
      - Bypass
      - -Command
      - python scripts\verify_deployment.py
    timeout: 900

额外检查项

  • 确认目标Windows实例上Python已正确安装,且安装路径添加到系统级PATH环境变量(CodeDeploy代理默认以系统账号运行,无法读取用户级PATH配置)。
  • 确认部署包中scripts/verify_deployment.py文件权限正常,系统账号拥有读取权限。
  • 若使用直接指定.py文件作为location的配置,需确认Windows系统.py后缀的默认打开程序为Python解释器,而非记事本、IDE等其他程序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:15:05