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

部署Azure函数应用时依赖无法从VS Code同步至Azure

Python Azure函数部署未识别requirements.txt、依赖未安装的排查方案

部署日志出现Could not find setup.py or requirements.txt; Not running pip install.的核心原因是Oryx构建阶段未在指定路径扫描到有效的依赖声明文件,即使你本地文件格式正确,也大概率是以下几类问题导致:

  • 文件放置路径错误:Azure Python函数的构建逻辑强制要求requirements.txt必须放在项目根目录,即和host.json、local.settings.json、函数触发器文件夹(如HttpTrigger、TimerTrigger目录)同级。如果误将文件放在触发器子目录、虚拟环境目录、项目外层文件夹,构建扫描阶段会直接跳过依赖安装。
  • 文件命名/编码不符合规范:
    • 检查文件是否有多余后缀:Windows默认开启「隐藏已知文件扩展名」时,很容易误存为requirements.txt.txt,这类命名不会被构建脚本识别
    • 检查文件名拼写和大小写:Azure函数生产环境默认是Linux系统,大小写敏感,不能命名为Requirements.txt、requirement.txt(漏写末尾s)
    • 检查文件编码:必须使用UTF-8无BOM格式存储,若用GBK、UTF-8 BOM格式保存,构建脚本读取内容失败也会判定为无效依赖文件
  • 部署忽略规则配置错误:检查项目根目录下的.funcignore、.gitignore文件,确认没有将requirements.txt加入忽略列表。如果被规则匹配,部署时该文件根本不会被上传到Azure构建环境,自然无法被扫描到。
  • 部署构建开关未开启:如果使用手动Zip部署、CI/CD流水线部署,需要在函数应用的配置项中添加应用设置SCM_DO_BUILD_DURING_DEPLOYMENT=true,若该值为false,部署流程会直接跳过所有构建步骤(包括pip依赖安装),即使文件上传正确也不会执行安装逻辑。

快速验证与修复步骤

  1. 登录Azure门户进入对应函数应用,打开左侧菜单的「高级工具(Kudu)」,进入调试控制台后导航到/site/wwwroot目录,直接查看该目录下是否存在你编写的requirements.txt,打开核对内容是否和本地一致。如果该目录下找不到文件,直接修正路径/忽略规则后重新部署即可。
  2. 如果文件已存在于wwwroot根目录,可直接在Kudu控制台执行pip install -r requirements.txt手动安装依赖,安装完成后重启函数应用即可临时解决ModuleNotFoundError运行报错。
  3. 核对应用设置中的SCM_DO_BUILD_DURING_DEPLOYMENT值为true后,重新触发一次完整部署,观察构建日志是否出现pip下载安装依赖的输出。

注意:不要直接上传本地虚拟环境的site-packages目录到生产环境,本地Windows/Mac环境的Python包和Azure Linux运行环境的系统依赖、ABI版本不匹配,会引发更多兼容性问题,通过官方构建流程安装依赖是唯一稳定方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:21:19