Protobuf: [python] deprecated collections usage (redux)

Created on 10 Nov 2018  路  6Comments  路  Source: protocolbuffers/protobuf

What version of protobuf and what language are you using?
Version: master
Language: Python

What operating system (Linux, Windows, ...) and version?
Any

What runtime / compiler are you using (e.g., python version or gcc version)
Python 3.7.1

5195 purported to fix #5135, but did so only for the deprecated usage in the google.protobuf.internal.containers module. Further changes are needed:

$ git grep -l "collections\.[A-Z]" "*.py"
python/google/protobuf/internal/_parameterized.py
python/google/protobuf/internal/message_test.py
python/google/protobuf/internal/well_known_types.py
python/google/protobuf/internal/well_known_types_test.py
python wait for 3.8.0 release

Most helpful comment

Python 3.8 was released yesterday https://www.python.org/downloads/release/python-380/

All 6 comments

The alphas of 3.8 are getting out, any news on this?

I'm seeing this in the logs:

/Users/travis/.pyenv/versions/3.7.2/lib/python3.7/site-packages/google/protobuf/descriptor.py:47: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from google.protobuf.pyext import _message

Looking forward to the fix.

A fix has been submitted in internal code with:

try:
  import collections.abc as collections_abc
except ImportError:
  import collections as collections_abc

Expect to see the fix in next release

Python 3.8 release candidate 1 is available: https://www.python.org/download/pre-releases

Python 3.8 was released yesterday https://www.python.org/downloads/release/python-380/

A fix is pending, why isn't it being merged? https://github.com/protocolbuffers/protobuf/pull/6272

Was this page helpful?
0 / 5 - 0 ratings