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

在GCP Cloud Composer中添加google-cloud-data-fusion遇依赖冲突错误

解决Composer 2.2.0 + Airflow 2.5.1中google-cloud-data-fusion的依赖冲突问题

环境与冲突背景

使用版本:composer-2.2.0-airflow-2.5.1
添加PyPI包google-cloud-data-fusion时触发环境更新失败,核心冲突源于protobuf版本矛盾,调整后仍存在多组依赖冲突:

  • google-cloud-data-fusion 1.8.1要求protobuf!=3.20.0,!=3.20.1,!=4.21.0-4.21.5,<5.0.0dev,>=3.19.5,但当前环境为protobuf 3.20.0
  • mysql-connector-python 8.0.33要求protobuf<=3.20.3、>=3.11.0,但当前环境为protobuf 4.23.1
  • google-ads 20.0.0+composer要求proto-plus==1.19.6,但当前环境为proto-plus 1.22.2
  • google-ads 21.0.0/21.1.0要求protobuf>=4.21.5,但当前环境为protobuf 3.20.3

解决方案

所有冲突的核心是protobuf版本无法同时满足mysql-connector-python和google-ads 21.x的要求,因此需要做以下依赖锁定:

1. 锁定兼容的protobuf版本

选择protobuf==3.20.2:

  • 避开google-cloud-data-fusion禁用的3.20.0/3.20.1版本
  • 满足mysql-connector-python 8.0.33的<=3.20.3限制
  • 符合google-cloud-data-fusion 1.8.1的>=3.19.5要求

2. 降级google-ads到兼容版本

放弃google-ads 21.x版本,使用google-ads==20.0.0+composer:

  • 该版本要求proto-plus==1.19.6,可避免与高版本proto-plus的冲突
  • 其依赖的protobuf范围与我们选定的3.20.2兼容

3. 完整依赖清单(requirements.txt)

将以下内容添加到你的依赖文件中:

protobuf==3.20.2
google-ads==20.0.0+composer
google-cloud-data-fusion==1.8.1
mysql-connector-python==8.0.33

4. 本地验证

在本地执行pip check命令,确认所有依赖无冲突后,再提交到Composer环境执行更新操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:12:20