当前位置:   article > 正文

【web3py】web3 5.31.3 requires protobuf==3.19.5, but you have protobuf 4.21.12 which is incompatible._grpcio-status 1.60.0 requires protobuf>=4.21.6, bu

grpcio-status 1.60.0 requires protobuf>=4.21.6, but you have protobuf 3.18.1

____tz_zs

情况

已存在包的版本:

protobuf               3.20.3
web3                    5.25.0
  • 1
  • 2

要安装包:

grpcio                 1.51.1
grpcio-tools           1.51.1
  • 1
  • 2

在安装grpc时, pip install grpcio-tools 时报错:
web3 5.25.0 requires protobuf<4,>=3.10.0, but you have protobuf 4.21.12 which is incompatible.

原因

这是因为我现在的 web3py 的包(web3py 版本 5.25.0 ),依赖旧版本的 protobuf 包(protobuf<4,>=3.10.0)

web3 5.25.0 requires protobuf<4,>=3.10.0 ... ...
  • 1

并且现行发布的 web3py 最新的稳定版本为 v5.31.3,他仍然固定依赖了旧版本 protobuf 包( protobuf v3.19.5 版本)。

web3 5.31.3 requires protobuf==3.19.5, but you have protobuf 4.21.12 which is incompatible.
  • 1

而 grpcio-tools 现行版本为 v1.51.1,依赖的 protobuf 版本是新版的,如下:

grpcio-tools 1.51.1 requires protobuf<5.0dev,>=4.21.6
  • 1

总结

总结:
现行最新的 web3py 稳定版本为 v5.31.3,他固定了依赖为低版本的 protobuf 版本。
grpcio-tools 等很多包依赖的是较新版本的 protobuf 包(现在 protobuf 的最新版本已经是 4.21.12 了),这里的版本不兼容导致了问题的出现。

解决方案

1、ubuntu 上我的暂行方案

指定安装最新不稳定版 web3py v6.0.0-b.7 ,此v6版本升级更新了依赖的包。(20230317 补充稳定版v6.0.0已发布)

grpcio                  1.51.1                                                                                                                                                                                                              
grpcio-tools            1.51.1
protobuf                4.21.12
  • 1
  • 2
  • 3
2、另外 macos 上 anaconda 默认的旧版方案为

grpcio 1.35.0
grpcio-tools 1.35.0
protobuf 3.20.1
web3 5.25.0

3、ChatGPT提供的

grpcio 支持的 Protobuf 版本取决于 grpcio 版本。通常情况下,grpcio 会支持一些较新的 Protobuf 版本,但也不支持所有的版本。

以下是 grpcio 支持的 Protobuf 版本列表:

grpcio 1.40.0 支持 Protobuf 3.17.3
grpcio 1.39.0 支持 Protobuf 3.15.8
grpcio 1.38.1 支持 Protobuf 3.15.8
grpcio 1.37.1 支持 Protobuf 3.14.0
grpcio 1.36.4 支持 Protobuf 3.14.0
grpcio 1.35.0 支持 Protobuf 3.13.0
如果您要使用 grpcio,请确保您安装了与您的 grpcio 版本兼容的 Protobuf 版本。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

4、20230317 补充

最新稳定版web3 6.0.0的依赖更新了
protobuf>=4.21.6

问题讨论

https://github.com/ethereum/web3.py/issues/2654#issuecomment-1284440558
https://github.com/ethereum/web3.py/issues/2654
https://github.com/protocolbuffers/protobuf/issues/10571
https://github.com/ethereum/web3.py/pull/2666

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/492198
推荐阅读
相关标签
  

闽ICP备14008679号