Python example failed
kmephistoh opened this issue · 1 comments
kmephistoh commented
install using docker: docker run -d -p 8080:8080 -v $PWD:/data gaiapipeline/gaia:latest
OS: Ubuntu 22.04 LTS
use the python example failed
cannot validate pipeline: Unrecognized remote plugin message:
This usually means that the plugin is either invalid or simply
needs to be recompiled to support the latest protocol.
--- output ---
Traceback (most recent call last):
File "", line 1, in
File "/data/tmp/python/python-demo/lib/python3.8/site-packages/pipeline/__init__.py", line 1, in
from gaiasdk import sdk
File "/data/tmp/python/python-demo/lib/python3.8/site-packages/gaiasdk/sdk.py", line 6, in
from . import plugin_pb2
File "/data/tmp/python/python-demo/lib/python3.8/site-packages/gaiasdk/plugin_pb2.py", line 36, in
_descriptor.FieldDescriptor(
File "/data/tmp/python/python-demo/lib/python3.8/site-packages/google/protobuf/descriptor.py", line 560, in __new__
_message.Message._CheckCalledFromGeneratedFile()
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).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
Beutlin commented
I've created one Pull-Request for this issue.
The problem is currently, that the new python protobuf version requires new recompiled files.
See: gaia-pipeline/pythonsdk#4