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

Django部署GCP App Engine时requirements.txt依赖冲突解决求助

解决Django部署GCP App Engine的grpcio依赖冲突问题

核心问题分析

你遇到的是典型的Python包版本依赖冲突:

  • pulumi==3.39.3 硬依赖 grpcio==1.47
  • grpcio-status==1.48.1 要求 grpcio>=1.48.1
  • grpc-google-iam-v1==0.12.4 虽兼容范围宽,但被前两者的冲突牵连

下面是几种可行的解决方法,按优先级排序:


方法1:移除不必要的pulumi依赖(最推荐)

首先确认:pulumi是基础设施即代码工具,通常不需要部署到App Engine运行环境。如果你的Django应用本身不需要调用pulumi的API,直接从requirements.txt中删除pulumi==3.39.3即可彻底解决冲突。

修改后的requirements.txt示例:

# 保留你的Django及其他运行必需依赖
django==4.2.3
grpcio==1.48.1
grpcio-status==1.48.1
grpc-google-iam-v1==0.12.4
# 移除 pulumi==3.39.3

本地验证:运行pip install -r requirements.txt确认无冲突后,重新执行gcloud app deploy。


方法2:升级pulumi到兼容grpcio>=1.48.1的版本

如果你确实需要在应用中使用pulumi,查询pulumi的版本日志,找到兼容grpcio>=1.48.1的版本(比如pulumi>=3.40.0及以上版本已放宽grpcio的依赖限制)。修改requirements.txt中的pulumi版本:

pulumi>=3.40.0
grpcio==1.48.1
grpcio-status==1.48.1
grpc-google-iam-v1==0.12.4
# 其他依赖

同样先本地安装验证,再部署。


方法3:降级grpcio及相关依赖适配pulumi 3.39.3

如果必须保留pulumi==3.39.3,则同步降级grpcio和grpcio-status到1.47版本,适配pulumi的依赖要求:

pulumi==3.39.3
grpcio==1.47.0
grpcio-status==1.47.0
grpc-google-iam-v1==0.12.4
# 其他依赖

这个方法需要确认降级后的grpcio版本不会影响你应用中其他功能的正常运行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:35:29