cast_control icon indicating copy to clipboard operation
cast_control copied to clipboard

Get the error below

Open bonelifer opened this issue 2 years ago • 4 comments

I get the error below


Traceback (most recent call last):
  File "/home/william/.local/bin/cast_control", line 5, in <module>
    from cast_control.app.cli import cli
  File "/home/william/.local/lib/python3.8/site-packages/cast_control/app/cli.py", line 11, in <module>
    from ..base import RC_NO_CHROMECAST, LOG_LEVEL, NAME, \
  File "/home/william/.local/lib/python3.8/site-packages/cast_control/base.py", line 7, in <module>
    from pychromecast.controllers.media import MediaStatus
  File "/home/william/.local/lib/python3.8/site-packages/pychromecast/__init__.py", line 14, in <module>
    from . import socket_client
  File "/home/william/.local/lib/python3.8/site-packages/pychromecast/socket_client.py", line 23, in <module>
    from . import cast_channel_pb2
  File "/home/william/.local/lib/python3.8/site-packages/pychromecast/cast_channel_pb2.py", line 33, in <module>
    _descriptor.EnumValueDescriptor(
  File "/home/william/.local/lib/python3.8/site-packages/google/protobuf/descriptor.py", line 755, 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).

bonelifer avatar Jun 13 '22 15:06 bonelifer

I faced the same error :confused:

DodoLeDev avatar Sep 17 '22 15:09 DodoLeDev

@bonelifer You can bypass this error by typing

export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python

on your console waiting for a fix

DodoLeDev avatar Sep 17 '22 15:09 DodoLeDev

Thanks for opening an issue, @bonelifer.

@DodoLeDev and @bonelifer, if you're still encountering this error, can you please post the results from this command:

python3 -m pip freeze

Thanks

alexdelorenzo avatar Dec 12 '22 04:12 alexdelorenzo

Also had this error with the latest release (+ also https://github.com/alexdelorenzo/cast_control/issues/15), don't have a pip freeze output that reflects it available (meanwhile downgraded these packages), but what basically happens is the requirements for the protobuf package only specify a lower limit, so it installs protobuf 4.21.12. Just like the zeroconf (linked issue), you can downgrade it, like mentioned in the workarounds at the bottom of OP's post. I downgraded to 3.20.3 (this should be more efficient than using the python implementation) and everything works

matthiasdg avatar Dec 21 '22 10:12 matthiasdg