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

Python 3.10 HTTP触发Azure Function导入BlobClient失败求助

解决思路

1. 移除冲突的旧版存储包

你的requirements.txt里同时包含了旧版azure-storage==0.36.0和新版azure-storage-blob==12.13.0,二者存在命名空间冲突:

  • 旧版azure-storage是整合式存储包,其azure.storage.blob模块结构和新版独立包完全不同,根本没有BlobClient类
  • 云端部署时旧包的模块会被优先加载,直接导致新版BlobClient无法被找到

直接删除requirements.txt中的azure-storage==0.36.0和azure-nspkg==3.0.2(nspkg是旧版Azure包的命名空间兼容包,新版已不再需要)。

2. 强制重新部署并清理缓存

  • 本地先执行pip install -r requirements.txt --upgrade,确保本地依赖与云端待部署版本完全一致
  • 部署时添加--force参数:func azure functionapp publish fappname --build remote --force,强制云端重新构建依赖,避免缓存旧包
  • 部署完成后重启Azure Function应用,确保新依赖生效

3. 验证依赖版本兼容性

检查核心依赖版本匹配情况:

  • azure-storage-blob==12.13.0要求azure-core>=1.26.0,你当前的azure-core==1.30.1完全满足要求
  • 其他存储相关包(azure-storage-file-datalake、azure-storage-queue)均为12.x版本,与azure-storage-blob大版本一致,不存在兼容问题

4. 检查云端运行时配置

  • 确认Azure Function的运行时设置为Python 3.10,与本地开发环境保持一致
  • 进入Azure门户的Function应用→配置→应用程序设置,检查是否存在手动设置的PYTHONPATH或其他环境变量,避免干扰依赖加载

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 04:56:34