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

Azure Function导入Pandas、Matplotlib失败,配置requirements.txt仍报错

解决Azure Function中Python依赖包(如Pandas)找不到的问题

针对你遇到的ModuleNotFoundError: No module named 'pandas'错误,无论本地运行还是Azure部署都失败的情况,可按以下步骤排查修复:

本地开发环境修复步骤

  • 确认虚拟环境激活状态:Azure Functions本地运行依赖虚拟环境,先确保你已激活项目对应的虚拟环境(比如执行.\.venv\Scripts\activate),未激活时安装的包不会被Core Tools识别。
  • 重新安装依赖:在激活的虚拟环境中执行命令:
    pip install -r requirements.txt
    
    确保所有依赖包正确安装到虚拟环境的site-packages目录下。
  • 匹配Python版本:查看错误日志中Core Tools使用的Python版本(你的日志显示是3.9),确认本地虚拟环境的Python版本与之一致。版本不匹配会导致包安装路径错误,无法被识别。

Azure部署环境修复步骤

  • 检查requirements.txt位置:确保requirements.txt文件放在函数应用的根目录(与host.json、local.settings.json同级),如果放在函数子目录中,Azure部署系统不会自动读取安装依赖。
  • 启用远程构建(Zip部署场景):如果是手动上传Zip包部署,需要在Azure门户的函数应用配置 > 应用设置中添加SCM_DO_BUILD_DURING_DEPLOYMENT,值设为true。开启后Azure会在部署时自动执行依赖安装。
  • 查看部署日志:登录Azure门户,进入函数应用的部署中心 > 日志,检查依赖安装过程是否有报错(比如网络问题导致包下载失败),根据日志进一步排查。

代码优化建议

你的__init__.py中重复导入了pandas,可以移除函数内的重复导入,保持代码简洁:

import logging
import azure.functions as func
import pandas  # 只在这里导入一次即可

def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    mydataset = {'cars': ["BMW", "Volvo", "Ford"], 'passings': [3, 7, 2] }
    myvar = pandas.DataFrame(mydataset)
    # 后续代码保持不变...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 12:54:26