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

将Flask应用部署至Azure App Service遇requests模块缺失错误求助

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

核心原因

你的requirements.txt文件里没有包含requests依赖包。虽然你用了pip freeze > requirements.txt生成依赖清单,但大概率是生成时requests没有安装在当前执行环境中(比如没激活虚拟环境就执行了命令),导致依赖没被写入文件。

修复步骤

  1. 本地补充依赖并更新requirements.txt

    • 激活你的本地开发虚拟环境(如果使用了的话):
      source venv/bin/activate  # Linux/macOS
      # 或 venv\Scripts\activate  # Windows
      
    • 安装requests:
      pip install requests
      
    • 重新生成依赖清单:
      pip freeze > requirements.txt
      
    • 将更新后的requirements.txt提交并推送到GitHub仓库。
  2. 优化GitHub流水线配置(可选但推荐)
    你的流水线可以调整得更规范,避免依赖安装的潜在问题:

    • 取消注释虚拟环境创建步骤,确保依赖安装在隔离环境中:
      - name: Create and start virtual environment
        run: |
          python -m venv venv
          source venv/bin/activate
      
    • 安装依赖时指定目标目录,让Azure App Service能正确识别依赖位置:
      - name: Install dependencies
        run: pip install --target ./python_env -r requirements.txt
      
    • 上传构建产物时包含python_env目录:
      - name: Upload artifact for deployment jobs
        uses: actions/upload-artifact@v2
        with:
          name: python-app
          path: |
            . 
            !venv/
            python_env/
      
  3. 验证Azure部署逻辑
    你已经设置了SCM_DO_BUILD_DURING_DEPLOYMENT: 1,这个环境变量会让Azure App Service在部署时自动执行pip install -r requirements.txt,只要你的requirements.txt包含requests,部署过程就会自动安装该依赖。

验证方法

  • 本地执行pip install -r requirements.txt后启动Flask应用,确认不再出现requests相关的导入错误。
  • 检查GitHub仓库中的requirements.txt,确保里面有类似requests==2.31.0(对应你安装的版本)的条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:10:43