查询google-cloud-pubsub与mysql-connector-python的兼容版本及依赖冲突解决
解决mysql-connector-python与google-cloud-pubsub的protobuf依赖冲突方案
核心冲突梳理
mysql-connector-python 8.0.32 要求 protobuf<=3.20.3且>=3.11.0,而google-cloud-pubsub 2.17.1 关联的grpcio-status 1.54.2 要求 protobuf>=4.21.6,两者的protobuf版本区间完全不重叠,导致安装失败。
可行兼容版本组合
组合1:保留mysql-connector-python 8.0.32,降级google-cloud-pubsub
选择google-cloud-pubsub的旧版本,使其依赖的组件对protobuf的要求落在3.19.5~3.20.3区间:
mysql-connector-python==8.0.32google-cloud-pubsub==2.13.10
该组合的关键依赖要求:
- google-api-core==2.8.2:要求
protobuf>=3.19.0, <4.0.0dev且!=3.20.0, !=3.20.1 - grpcio-status==1.48.2:要求
protobuf>=3.19.5, <4.0.0dev
此时可安装protobuf==3.20.3,同时满足所有组件的依赖要求。
验证命令:
pip install mysql-connector-python==8.0.32 google-cloud-pubsub==2.13.10 pip check # 确认无依赖冲突
组合2:升级mysql-connector-python,适配google-cloud-pubsub 2.17.1
mysql-connector-python 8.1.0及以上版本放宽了protobuf的版本限制(要求>=3.11.0, <5.0.0dev),可直接搭配目标版本的pubsub:
mysql-connector-python==8.1.0google-cloud-pubsub==2.17.1
版本选择逻辑
- 若必须保留mysql-connector-python 8.0.32,优先选组合1;
- 若可以升级mysql驱动,组合2更贴合你原本的pubsub版本需求。
内容的提问来源于stack exchange,提问作者bjoernsson
相关产品推荐
相关产品推荐

