gh-125746: Delay deprecated zipimport.zipimporter.load_module removal time to 3.15 (#125748)

This commit is contained in:
Wulian233 2025-02-12 07:59:09 +08:00 committed by GitHub
parent a7427f2db9
commit 06ac157c53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 14 additions and 8 deletions

View file

@ -96,3 +96,9 @@ Pending removal in Python 3.15
and :meth:`~wave.Wave_read.getmarkers` methods of
the :class:`~wave.Wave_read` and :class:`~wave.Wave_write` classes
have been deprecated since Python 3.13.
* :mod:`zipimport`:
* :meth:`~zipimport.zipimporter.load_module` has been deprecated since
Python 3.10. Use :meth:`~zipimport.zipimporter.exec_module` instead.
(Contributed by Jiahao Li in :gh:`125746`.)

View file

@ -151,6 +151,3 @@ although there is currently no date scheduled for their removal.
:class:`~xml.etree.ElementTree.Element` is deprecated. In a future release it
will always return ``True``. Prefer explicit ``len(elem)`` or
``elem is not None`` tests instead.
* :meth:`zipimport.zipimporter.load_module` is deprecated:
use :meth:`~zipimport.zipimporter.exec_module` instead.

View file

@ -148,7 +148,7 @@ zipimporter Objects
qualified (dotted) module name. Returns the imported module on success,
raises :exc:`ZipImportError` on failure.
.. deprecated:: 3.10
.. deprecated-removed:: 3.10 3.15
Use :meth:`exec_module` instead.

View file

@ -20,7 +20,6 @@ import _io # for open
import marshal # for loads
import sys # for modules
import time # for mktime
import _warnings # For warn()
__all__ = ['ZipImportError', 'zipimporter']
@ -221,9 +220,11 @@ class zipimporter(_bootstrap_external._LoaderBasics):
Deprecated since Python 3.10. Use exec_module() instead.
"""
msg = ("zipimport.zipimporter.load_module() is deprecated and slated for "
"removal in Python 3.12; use exec_module() instead")
_warnings.warn(msg, DeprecationWarning)
import warnings
warnings._deprecated("zipimport.zipimporter.load_module",
f"{warnings._DEPRECATED_MSG}; "
"use zipimport.zipimporter.exec_module() instead",
remove=(3, 15))
code, ispackage, modpath = _get_module_code(self, fullname)
mod = sys.modules.get(fullname)
if mod is None or not isinstance(mod, _module_type):

View file

@ -0,0 +1,2 @@
Delay deprecated :meth:`zipimport.zipimporter.load_module` removal
time to 3.15. Use :meth:`zipimport.zipimporter.exec_module` instead.