Skip to content

New protobuf release breaks electrum #7833

@MrNaif2018

Description

@MrNaif2018
Traceback (most recent call last):
  File "daemons/btc.py", line 505, in <module>
    daemon = BTCDaemon()
  File "daemons/btc.py", line 43, in __init__
    self.load_electrum()
  File "daemons/btc.py", line 38, in load_electrum
    import electrum
  File "/home/circleci/venv/lib/python3.7/site-packages/electrum/__init__.py", line 16, in <module>
    from .wallet import Wallet
  File "/home/circleci/venv/lib/python3.7/site-packages/electrum/wallet.py", line 68, in <module>
    from .storage import StorageEncryptionVersion, WalletStorage
  File "/home/circleci/venv/lib/python3.7/site-packages/electrum/storage.py", line 37, in <module>
    from .wallet_db import WalletDB
  File "/home/circleci/venv/lib/python3.7/site-packages/electrum/wallet_db.py", line 45, in <module>
    from .paymentrequest import PaymentRequest
  File "/home/circleci/venv/lib/python3.7/site-packages/electrum/paymentrequest.py", line 37, in <module>
    from . import paymentrequest_pb2 as pb2
  File "/home/circleci/venv/lib/python3.7/site-packages/electrum/paymentrequest_pb2.py", line 42, in <module>
    serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  File "/home/circleci/venv/lib/python3.7/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).

Hi! I've met this issue in our CI recently. Looks like the file needs to be re-compiled. Should I pin protobuf to a lower version, or are there plans to re-generate the file?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions