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

CloudBuild部署Flask应用失败:functions-framework与Flask版本兼容问题求助

解决Cloud Functions依赖冲突问题(functions-framework 3.0.0 vs Flask)

以下是几个可行的解决办法,按优先级尝试:

  • 明确锁定依赖版本
    在你的requirements.txt里同时指定兼容的functions-framework和Flask版本,确保两者版本匹配:

    functions-framework==3.3.0
    flask==2.3.3
    

    3.3.0版本的functions-framework明确要求flask<3.0,>=1.0,和你使用的2.3.3完全兼容。

  • 生成精确依赖清单
    如果你本地环境是正常运行的,直接导出当前环境的所有依赖版本到requirements.txt,避免构建环境自动升级子依赖:

    pip freeze > requirements.txt
    

    这样构建时会完全复刻你本地的依赖版本,不会出现意外的版本升级。

  • 调整依赖声明顺序
    在requirements.txt里把Flask的声明放在最前面,让构建工具优先安装指定的Flask版本,再处理其他依赖:

    flask==2.3.3
    functions-framework==3.0.0
    # 其他依赖项...
    
  • 自定义Cloud Build步骤强制指定版本
    如果用了Cloud Build部署,在cloudbuild.yaml里添加前置步骤,强制安装指定版本的Flask:

    steps:
    - name: 'python:3.10'
      entrypoint: 'pip'
      args: ['install', 'flask==2.3.3', '--force-reinstall']
    - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
      entrypoint: 'gcloud'
      args: ['functions', 'deploy', '你的函数名称', '--runtime', 'python310', '--trigger-http']
    
  • 临时降级functions-framework版本
    如果以上方法都没效果,可以暂时切换到2.x版本的functions-framework,它对Flask版本的兼容性范围更宽松:

    functions-framework==2.16.0
    flask==2.3.3
    

内容的提问来源于stack exchange,提问作者Aleksa Tešić

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 00:02:21