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

部署Python Flask应用至Azure App Service时遇spacy模块缺失错误

解决Azure App Service部署Flask应用时的ModuleNotFoundError: No module named 'spacy'问题

核心排查与修复步骤

  • 验证requirements.txt的正确性

    1. 确保是在激活本地虚拟环境后执行pip freeze > requirements.txt,而非全局环境。
    2. 打开requirements.txt,确认存在spacy条目(例如spacy==3.7.1),版本需与本地运行环境完全一致。
    3. 若使用pipreqs生成依赖文件,可能遗漏spacy,需手动添加或改用pip freeze。
  • 对齐本地与Azure的Python版本

    1. 登录Azure门户,进入App Service的「配置」>「常规设置」,确认Python版本为3.9(与本地虚拟环境版本完全匹配,包括小版本如3.9.10)。
    2. 若使用az webapp up部署,可能覆盖门户设置,可通过命令强制指定版本:
      az webapp config set --name <appservicename> --resource-group <resourcegroupname> --python-version 3.9
      
  • 处理Spacy预训练模型的特殊需求
    若代码依赖Spacy预训练模型(如en_core_web_sm):

    1. 不要直接上传本地下载的模型文件夹,需在requirements.txt中添加模型的pip安装链接,例如:
      spacy==3.7.1
      https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.7.1/en_core_web_sm-3.7.1.tar.gz
      
    2. 或在Azure门户的「配置」>「应用程序设置」中添加启动命令(需确保gunicorn已在requirements中):
      gunicorn --bind=0.0.0.0 --timeout 600 app:app && python -m spacy download en_core_web_sm
      
  • 检查部署日志定位问题

    1. 进入Azure门户的App Service >「部署中心」>「日志」,查看部署过程中的pip安装日志。
    2. 若日志显示spacy安装失败,需排查依赖冲突(例如某些包与spacy版本不兼容),调整requirements.txt中的版本号后重新部署。
  • 强制清除缓存并重新构建

    1. 在Azure门户的「部署中心」>「高级选项」中点击「重新部署」。
    2. 或执行命令:
      az webapp deployment source sync --name <appservicename> --resource-group <resourcegroupname>
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:15:38