已存在requirements.txt,Azure函数应用仍报ModuleNotFoundError
检查requirements.txt的有效性
你同时在文件中添加了opencv-python和opencv-contrib-python,这两个包存在冲突——contrib版本已经包含基础版的所有内容,重复安装会导致依赖解析异常。建议删除其中一个,只保留opencv-python==4.5.5.62或opencv-contrib-python==4.5.5.62。同时确认文件放在函数应用的根目录,而非子文件夹中,Azure仅会读取根目录的requirements.txt来安装依赖。验证依赖是否被正确安装
进入Azure门户函数应用的高级工具(Kudu)(左侧菜单“开发工具”下),打开控制台执行以下命令,查看已安装的包:pip list如果未找到opencv相关包,手动执行安装命令测试:
pip install opencv-python==4.5.5.62若手动安装成功,说明部署时依赖安装步骤被跳过。重新部署时,确保启用依赖自动安装:使用Azure Functions Core Tools部署时,默认会执行
pip install -r requirements.txt;VS Code部署时,勾选部署配置中的“Install project dependencies”选项。适配Linux运行时环境
你的函数运行在Linux X64环境,部分旧版本opencv-python在Linux环境下存在兼容性问题。建议改用opencv-python-headless版本(无GUI依赖,更适合服务器场景),或升级到稳定版本,修改requirements.txt为:opencv-python-headless==4.8.0.76排除本地环境干扰
检查.funcignore文件是否包含venv/、.env等本地虚拟环境相关内容,避免将本地依赖文件夹打包上传,导致Azure函数读取错误路径。重启函数应用
依赖安装完成后,重启函数应用确保依赖生效,在Azure门户函数应用主页点击顶部“重启”按钮后重新测试。
内容的提问来源于stack exchange,提问作者user1712521

