From: Marc Foley Date: Thu, 29 Sep 2022 08:46:26 +0000 (+0100) Subject: Pin protobuf to 3.19.4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4352af08a319937c8073cbd22bf85710f0609f3;p=thirdparty%2Fgoogle%2Ffonts.git Pin protobuf to 3.19.4 Currently, we use the latest protobuf. Unfortunately there are breaking changes between v3 and v4. All our other tools such as gftools use 3.19.4 hence why I'm pinning to this version. If I install gflanguages in a repo such as gftools, I get the following traceback ``` Traceback (most recent call last): File "/Users/marcfoley/Type/font-browser-tests-action/test.py", line 8, in from diffenator import run_proofing_tools, run_diffing_tools File "/Users/marcfoley/Type/font-browser-tests-action/venv/lib/python3.10/site-packages/diffenator/__init__.py", line 20, in from diffenator.screenshot import screenshot_dir File "/Users/marcfoley/Type/font-browser-tests-action/venv/lib/python3.10/site-packages/diffenator/screenshot.py", line 6, in from diffenator.utils import gen_gifs File "/Users/marcfoley/Type/font-browser-tests-action/venv/lib/python3.10/site-packages/diffenator/utils.py", line 22, in from gflanguages import LoadLanguages File "/Users/marcfoley/Type/font-browser-tests-action/venv/lib/python3.10/site-packages/gflanguages/__init__.py", line 28, in from gflanguages import languages_public_pb2 File "/Users/marcfoley/Type/font-browser-tests-action/venv/lib/python3.10/site-packages/gflanguages/languages_public_pb2.py", line 36, in _descriptor.FieldDescriptor( File "/Users/marcfoley/Type/font-browser-tests-action/venv/lib/python3.10/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). ``` --- diff --git a/setup.py b/setup.py index 8dad3a880b..e0470048d7 100644 --- a/setup.py +++ b/setup.py @@ -53,6 +53,6 @@ setup( python_requires=">=3.7", setup_requires=['setuptools_scm>=4,<6.1'], install_requires=[ - 'protobuf' + 'protobuf==3.19.4' ] )