Skip to content

Conversation

@vespakoen
Copy link

When trying to use the latest wirepass-mesh-messaging-python version with wirepass-mqtt-library, I got this error:

  from app import wirepas_client
File "/code/app/wirepas_client.py", line 3, in <module>
  from wirepas_mqtt_library import WirepasNetworkInterface
File "/usr/local/lib/python3.11/site-packages/wirepas_mqtt_library/__init__.py", line 1, in <module>
  from .wirepas_network_interface import WirepasNetworkInterface
File "/usr/local/lib/python3.11/site-packages/wirepas_mqtt_library/wirepas_network_interface.py", line 11, in <module>
  import wirepas_mesh_messaging as wmm
File "/usr/local/lib/python3.11/site-packages/wirepas_mesh_messaging/__init__.py", line 22, in <module>
  from .get_configs import GetConfigsRequest, GetConfigsResponse
File "/usr/local/lib/python3.11/site-packages/wirepas_mesh_messaging/get_configs.py", line 10, in <module>
  from .proto import GenericMessage
File "/usr/local/lib/python3.11/site-packages/wirepas_mesh_messaging/proto/__init__.py", line 5, in <module>
  from .error_pb2 import *
File "/usr/local/lib/python3.11/site-packages/wirepas_mesh_messaging/proto/error_pb2.py", line 5, in <module>
  from google.protobuf.internal import builder as _builder

I solved it by incrementing the protobuf version requirement, it looks like error_pb2.py (auto-generated?) depends on builder, which seems to be added in protobuf 3.20.0, see: https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.0, especially the line: *[Breaking change] Protobuf python generated codes are simplified. Descriptors and message classes' definitions are now dynamic created in internal/builder.py.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant