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

如何为Bicep/Zip部署的Python Azure Function配置requirements.txt

解决Azure Function Zip部署中requirements.txt依赖安装问题

一、先把requirements.txt的基础配置搞对

  • 把requirements.txt放在函数应用的根目录(和host.json平级),别乱放子文件夹里。内容要明确指定依赖版本,避免模糊版本号导致安装冲突,示例:
    requests==2.31.0
    azure-functions==1.17.0
    

二、Zip打包不能瞎打

  • 打包时要包含根目录下所有必要文件:host.json、requirements.txt,以及你的Blob Trigger函数文件夹(比如BlobTriggerFunc/)。
  • 必须进入项目根目录再执行打包命令,别把父文件夹也包进去,终端命令示例:
    cd 你的函数项目根目录
    zip -r deploy.zip .
    
    这样Azure解压后,requirements.txt会在正确位置被识别。

三、打开Azure的自动依赖安装开关

  • 先确认函数应用的Python版本和本地开发版本完全一致(比如都是3.9),可在Azure门户的函数应用→配置→常规设置中查看。
  • 添加应用设置强制Azure部署时安装依赖:
    1. 进入函数应用→配置→应用程序设置
    2. 新增设置,键填SCM_DO_BUILD_DURING_DEPLOYMENT,值设为true
      开启后,Azure部署时会自动读取requirements.txt安装所有依赖。

四、查日志定位问题

  • 如果仍有异常,查看部署日志:进入函数应用→部署中心→日志,排查是否存在依赖安装失败的报错(如PyPI网络连接问题、版本不兼容)。
  • 也可通过Kudu控制台验证:访问https://<你的函数应用名>.scm.azurewebsites.net/DebugConsole,进入site/wwwroot目录,先确认requirements.txt已上传,再检查python_env/lib/pythonX.X/site-packages下是否存在目标依赖。

五、本地预构建依赖再打包(备选方案)

若Azure在线安装依赖频繁失败,可本地提前安装依赖后再打包:

  • 在本地项目根目录执行命令:
    pip install -r requirements.txt --target .python_packages/lib/site-packages
    
  • 打包时将.python_packages文件夹一并包含,部署后Azure会直接使用本地预安装的依赖,无需在线下载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 11:37:07