Downgrade the protobuf package to 3.20.x or lower

Bonjour à tous,
suite ce matin a un crash violent sur coupure courant pas franche le ssd de Jeedom est naze.
J’ai une réserve heureusement et j’ai donc fait une fresh install sur un NUC Intel dédié, avec l’image jeedom-debian-buster-amd64-4.2.21.iso , fait un apt-get update et apt-get upgrade rechargé la backup de la nuit (externalisé heureusement) relancé attendu calmement que toutes les dépendances se réinstallent, rechargé le cookie d’Alexa,relancé les daemonts qui le demandaient, bref tout au vert dans la santé excepté le plugin googlecast qui fontionnait parfaitement avant le crash du SSD
Le log de googlecast me dit :
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: Changes announced May 6, 2022 | Protocol Buffers Documentation
    En allant sur le fofo je trouve plein de tuto sur ce sujet mais avant de faire quoi que ce soit sans comprendre en ssh root je voudrait savoir si la manip
    sudo pip3 uninstall protobuf
    sudo pip3 install protobuf-3.19.0
    est toujours d’actualité (les fils consultés date de 2022) avec Debian Linux jeedom 4.19.0-22-amd64 #1 SMP Debian 4.19.260-1 (2022-09-29) x86_64 GNU/Linux [10.13]
    je suis sous jeedom 4.3.17
    pour info ma page santé

    et le log de googlecast

Traceback (most recent call last):
  File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 45, in <module>
    import pychromecast.pychromecast as pychromecast
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/__init__.py", line 12, in <module>
    from . import socket_client
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 23, in <module>
    from . import cast_channel_pb2
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/cast_channel_pb2.py", line 36, in <module>
    type=None),
  File "/usr/local/lib/python3.7/dist-packages/google/protobuf/descriptor.py", line 796, 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
Traceback (most recent call last):
  File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 45, in <module>
    import pychromecast.pychromecast as pychromecast
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/__init__.py", line 12, in <module>
    from . import socket_client
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 23, in <module>
    from . import cast_channel_pb2
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/cast_channel_pb2.py", line 36, in <module>
    type=None),
  File "/usr/local/lib/python3.7/dist-packages/google/protobuf/descriptor.py", line 796, 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
Traceback (most recent call last):
  File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 45, in <module>
    import pychromecast.pychromecast as pychromecast
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/__init__.py", line 12, in <module>
    from . import socket_client
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 23, in <module>
    from . import cast_channel_pb2
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/cast_channel_pb2.py", line 36, in <module>
    type=None),
  File "/usr/local/lib/python3.7/dist-packages/google/protobuf/descriptor.py", line 796, 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
Traceback (most recent call last):
  File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 45, in <module>
    import pychromecast.pychromecast as pychromecast
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/__init__.py", line 12, in <module>
    from . import socket_client
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 23, in <module>
    from . import cast_channel_pb2
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/cast_channel_pb2.py", line 36, in <module>
    type=None),
  File "/usr/local/lib/python3.7/dist-packages/google/protobuf/descriptor.py", line 796, 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
Traceback (most recent call last):
  File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 45, in <module>
    import pychromecast.pychromecast as pychromecast
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/__init__.py", line 12, in <module>
    from . import socket_client
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 23, in <module>
    from . import cast_channel_pb2
  File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/cast_channel_pb2.py", line 36, in <module>
    type=None),
  File "/usr/local/lib/python3.7/dist-packages/google/protobuf/descriptor.py", line 796, 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

Merci d’avance à ceus qui voudrons bien m’indiquer si je fait fausse route et si il y a une autre manip à faire

Bon je me suis lancé quitte à tout réinstaller une fois de plus j’ai fait en ssh root:
sans le pip remove protobus
juste
pip install protobuf==3.20.*
et ça marche

1 « J'aime »
sudo pip3 ...

Est probablement plus adapté dans ce cas mais c’est bien ça l’idée

Merci Mips,
effectivement on peut passer les cdes par OS/DB, mais je n’y pense jamais je passe toujours en ssh console., je suis en train de faire une récap de tout ce qu’il faut faire après une fresh install.
Pendant que j’y suis j’ai vu que sur Jeedom il y avait l’image bullseye-amd64-4.3.17. , y a-t-il toujours des plugin incompatible avec bullseye ou on peut maintenant utiliser cette image sans ramer et devoir faire des corrections partout ?
(si trop hors sujet laisse tomber)

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.