添加tensorflow至requirements.txt导致Azure Python函数应用部署失败
解决Azure Functions消费计划部署TensorFlow失败的问题
核心原因
TensorFlow安装包体积过大(仅whl文件就达578MB),超出Azure Functions消费计划远程构建的资源限制(包括内存、磁盘空间及构建超时阈值),导致构建过程异常中断,无法生成有效日志。
可行解决方案
1. 本地构建部署包后上传
预先在本地完成依赖安装,避免远程构建时下载大体积包:
- 在项目本地目录创建
.python_packages文件夹 - 运行本地安装命令,指定依赖安装路径(确保本地Python版本与Function App配置的3.9.7一致):
pip install -r requirements.txt --target .python_packages/lib/site-packages - 使用VS Code的Function App扩展执行Deploy to Function App,或运行命令:
func azure functionapp publish <你的应用名称> --build local
2. 切换至高级计划
消费计划的资源配额不足以支撑大依赖包的远程构建,切换到Premium计划(EP1及以上)或App Service计划,这类计划提供更大的磁盘空间、内存和更长的构建超时时间,可完成TensorFlow的远程安装。
3. 改用TensorFlow Lite(业务场景允许时)
TensorFlow Lite的安装包体积远小于完整版,若业务不需要TensorFlow全部功能,可在requirements.txt中替换为:
tensorflow-lite==2.10.0
4. 启用部署包压缩优化
在Function App配置中,将WEBSITE_RUN_FROM_PACKAGE设置为1,部署包会以压缩形式运行,减少磁盘占用,需配合本地构建后上传使用。
内容的提问来源于stack exchange,提问作者Shantanu Shinde
相关产品推荐
相关产品推荐

