Azure Function报错:python exited with code 132 (0x84) 求助
排查Azure Functions中Python退出码132 (0x84)的方法
Python退出码132对应SIGILL信号,通常是程序尝试执行非法指令导致的,可按以下步骤排查:
确认Python版本与运行时兼容性
检查你的Python版本是否在Azure Functions支持范围内,本地开发使用的Python版本必须和云端Function App配置的版本完全一致。版本不匹配可能引发运行时指令兼容问题,触发该错误。排查依赖包的架构兼容性
- 检查
requirements.txt中的依赖,尤其是包含C扩展或预编译二进制文件的包(如numpy、pandas等),这类包可能对CPU架构(x86/ARM)有要求。若本地在x86环境开发,云端部署到ARM架构的Function App,极易出现架构不兼容问题。 - 尝试在与云端一致的环境(比如用Docker模拟Azure Functions的Linux运行时)安装依赖并运行函数,验证是否能复现错误。
- 检查
获取详细运行日志
- 在Azure Portal中打开Function App的「日志流」,或使用Azure CLI拉取完整运行日志,重点关注退出码132出现前的报错信息、堆栈跟踪,定位具体触发问题的代码或依赖库。
- 本地使用
func start启动函数,复现问题并调试,本地环境更容易捕获详细错误细节。
检查Function App运行时配置
- 确认Function App的运行时版本为最新稳定版,旧版本可能存在与Python版本兼容的bug。
- 核对应用设置中的
PYTHONPATH、WEBSITE_RUN_FROM_PACKAGE等配置项,确保没有因路径错误导致依赖加载失败的情况。
简化代码定位问题
将函数代码简化为最小可运行版本(比如仅返回固定字符串),如果错误消失,再逐步恢复原代码和依赖,逐一排查是哪部分代码或依赖引发的问题。验证资源配置(学生订阅特殊检查)
虽然退出码132并非内存不足(对应137),但可以尝试调高Function App的内存配额(如从128MB提升至256MB),排除资源限制间接引发的运行异常。
内容的提问来源于stack exchange,提问作者Lakshay Dulani
相关产品推荐
相关产品推荐

