Эх сурвалжийг харах

Import MutableSequence from collections.abc on Python 3. (#6272)

Fixes https://github.com/protocolbuffers/protobuf/issues/5335.
Benjamin Peterson 5 жил өмнө
parent
commit
9d61eada0f

+ 5 - 1
python/google/protobuf/pyext/message.cc

@@ -2958,8 +2958,12 @@ bool InitProto2MessageModule(PyObject *m) {
         reinterpret_cast<PyObject*>(
             &RepeatedCompositeContainer_Type));
 
-    // Register them as collections.Sequence
+    // Register them as MutableSequence.
+#if PY_MAJOR_VERSION >= 3
+    ScopedPyObjectPtr collections(PyImport_ImportModule("collections.abc"));
+#else
     ScopedPyObjectPtr collections(PyImport_ImportModule("collections"));
+#endif
     if (collections == NULL) {
       return false;
     }