偶然的是,我更新了我的ubuntu vp上的原型。现在,一些非常重要的python脚本不再工作了。速度不是很重要。我有两个解决方案:
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
降低原型包的等级,不确定这是否是前进的方向
或者设置PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python -但我在哪里设置这个。在python脚本中?
发布于 2022-08-17 06:42:45
发布于 2022-07-07 17:25:50
有关背景信息,请参见2022年5月发生的变化。
我不赞成使用PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
作为解决方案。但是,如果您想使用它,则需要设置这个环境变量(可能还需要export
吗?)在运行代码的环境中,使用生成的源(如果适用的话,客户端和服务器)。
有关上述更改,请参阅此线程。
这是protobuf
释出。
如果您不想重新编译您的原型,您可能想尝试转移到3.20.1
,但意识到这是行的结束,您正在推迟不可避免的…
如果您愿意重新编译(并测试)您的原型,您应该考虑迁移到4.20.x
。
https://stackoverflow.com/questions/72899948
复制相似问题