Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Description
Bug report
A clear and concise description of the bug
Followup to#103968 (comment).
The DeprecationWarning forPyType_Spec in3.12.0rc1 is emitted on<frozen importlib._bootstrap>:400 which makes it quite difficult to know what package is responsible.
In my particular case I found that, after reading#103968, it might beprotobuf.
And indeed that's how I can reproduce it.
# test.pyfromgoogle.protobufimportdescriptor
pip install protobuf==4.24.0python -X dev test.py
<frozen importlib._bootstrap>:400 DeprecationWarning: Using PyType_Spec with metaclasses that have custom tp_new is deprecated and will no longer be allowed in Python 3.14.To be clear, I don't mind the warning. I'm just wondering if it's possible to improve the error location.
/CC@encukou
--
The relevant CPython code
Lines 4243 to 4249 in3bb43b7
| if (PyErr_WarnFormat( | |
| PyExc_DeprecationWarning,1, | |
| "Using PyType_Spec with metaclasses that have custom " | |
| "tp_new is deprecated and will no longer be allowed in " | |
| "Python 3.14.")<0) { | |
| gotofinally; | |
| } |
And protobuf where it's likely (?) created:
https://github.com/protocolbuffers/protobuf/blob/v4.24.0/python/google/protobuf/pyext/map_container.cc#L562
https://github.com/protocolbuffers/protobuf/blob/v4.24.0/python/google/protobuf/pyext/map_container.cc#L778
Your environment
- CPython versions tested on:
3.12.0rc1and with the latest3.12commit:3bb43b7 - Operating system and architecture: MacOS