@@ -320,6 +320,9 @@ ABC hierarchy::
320320 .. versionchanged :: 3.7
321321 Introduced the optional :meth: `get_resource_reader ` method.
322322
323+ .. versionchanged :: 3.15
324+ Removed the ``load_module() `` method.
325+
323326 .. method :: create_module(spec)
324327
325328 A method that returns the module object to use when
@@ -344,47 +347,6 @@ ABC hierarchy::
344347 .. versionchanged :: 3.6
345348 :meth: `create_module ` must also be defined.
346349
347- .. method :: load_module(fullname)
348-
349- A legacy method for loading a module. If the module cannot be
350- loaded, :exc: `ImportError ` is raised, otherwise the loaded module is
351- returned.
352-
353- If the requested module already exists in :data: `sys.modules `, that
354- module should be used and reloaded.
355- Otherwise the loader should create a new module and insert it into
356- :data: `sys.modules ` before any loading begins, to prevent recursion
357- from the import. If the loader inserted a module and the load fails, it
358- must be removed by the loader from :data: `sys.modules `; modules already
359- in :data: `sys.modules ` before the loader began execution should be left
360- alone.
361-
362- The loader should set several attributes on the module
363- (note that some of these attributes can change when a module is
364- reloaded):
365-
366- - :attr: `module.__name__ `
367- - :attr: `module.__file__ `
368- - :attr: `module.__cached__ ` *(deprecated) *
369- - :attr: `module.__path__ `
370- - :attr: `module.__package__ ` *(deprecated) *
371- - :attr: `module.__loader__ ` *(deprecated) *
372-
373- When :meth: `exec_module ` is available then backwards-compatible
374- functionality is provided.
375-
376- .. versionchanged :: 3.4
377- Raise :exc: `ImportError ` when called instead of
378- :exc: `NotImplementedError `. Functionality provided when
379- :meth: `exec_module ` is available.
380-
381- .. deprecated-removed :: 3.4 3.15
382- The recommended API for loading a module is :meth: `exec_module `
383- (and :meth: `create_module `). Loaders should implement it instead of
384- :meth: `load_module `. The import machinery takes care of all the
385- other responsibilities of :meth: `load_module ` when
386- :meth: `exec_module ` is implemented.
387-
388350
389351.. class :: ResourceLoader
390352
@@ -490,13 +452,6 @@ ABC hierarchy::
490452
491453 .. versionadded :: 3.4
492454
493- .. method :: load_module(fullname)
494-
495- Implementation of :meth: `Loader.load_module `.
496-
497- .. deprecated-removed :: 3.4 3.15
498- use :meth: `exec_module ` instead.
499-
500455
501456.. class :: ExecutionLoader
502457
@@ -530,6 +485,9 @@ ABC hierarchy::
530485
531486 .. versionadded :: 3.3
532487
488+ .. versionchanged :: 3.15
489+ Removed the ``load_module() `` method.
490+
533491 .. attribute :: name
534492
535493 The name of the module the loader can handle.
@@ -538,13 +496,6 @@ ABC hierarchy::
538496
539497 Path to the file of the module.
540498
541- .. method :: load_module(fullname)
542-
543- Calls super's ``load_module() ``.
544-
545- .. deprecated-removed :: 3.4 3.15
546- Use :meth: `Loader.exec_module ` instead.
547-
548499 .. method :: get_filename(fullname)
549500 :abstractmethod:
550501
@@ -576,6 +527,9 @@ ABC hierarchy::
576527 optimization to speed up loading by removing the parsing step of Python's
577528 compiler, and so no bytecode-specific API is exposed.
578529
530+ .. versionchanged :: 3.15
531+ Removed the ``load_module() `` method.
532+
579533 .. method :: path_stats(path)
580534
581535 Optional abstract method which returns a :class: `dict ` containing
@@ -629,13 +583,6 @@ ABC hierarchy::
629583
630584 .. versionadded :: 3.4
631585
632- .. method :: load_module(fullname)
633-
634- Concrete implementation of :meth: `Loader.load_module `.
635-
636- .. deprecated-removed :: 3.4 3.15
637- Use :meth: `exec_module ` instead.
638-
639586 .. method :: get_source(fullname)
640587
641588 Concrete implementation of :meth: `InspectLoader.get_source `.
@@ -1059,6 +1006,9 @@ find and load modules.
10591006
10601007 .. versionadded :: 3.3
10611008
1009+ .. versionchanged :: 3.15
1010+ Removed the ``load_module() `` method.
1011+
10621012 .. attribute :: name
10631013
10641014 The name of the module that this loader will handle.
@@ -1079,15 +1029,6 @@ find and load modules.
10791029
10801030 Concrete implementation of :meth: `importlib.abc.SourceLoader.set_data `.
10811031
1082- .. method :: load_module(name=None)
1083-
1084- Concrete implementation of :meth: `importlib.abc.Loader.load_module ` where
1085- specifying the name of the module to load is optional.
1086-
1087- .. deprecated-removed :: 3.6 3.15
1088-
1089- Use :meth: `importlib.abc.Loader.exec_module ` instead.
1090-
10911032
10921033.. class :: SourcelessFileLoader(fullname, path)
10931034
@@ -1101,6 +1042,9 @@ find and load modules.
11011042
11021043 .. versionadded :: 3.3
11031044
1045+ .. versionchanged :: 3.15
1046+ Removed the ``load_module() `` method.
1047+
11041048 .. attribute :: name
11051049
11061050 The name of the module the loader will handle.
@@ -1122,15 +1066,6 @@ find and load modules.
11221066 Returns ``None `` as bytecode files have no source when this loader is
11231067 used.
11241068
1125- .. method :: load_module(name=None)
1126-
1127- Concrete implementation of :meth: `importlib.abc.Loader.load_module ` where
1128- specifying the name of the module to load is optional.
1129-
1130- .. deprecated-removed :: 3.6 3.15
1131-
1132- Use :meth: `importlib.abc.Loader.exec_module ` instead.
1133-
11341069
11351070.. class :: ExtensionFileLoader(fullname, path)
11361071
@@ -1262,8 +1197,7 @@ find and load modules.
12621197
12631198 .. attribute :: cached
12641199
1265- The filename of a compiled version of the module's code
1266- (see :attr: `module.__cached__ `).
1200+ The filename of a compiled version of the module's code.
12671201 The :term: `finder ` should always set this attribute but it may be ``None ``
12681202 for modules that do not need compiled code stored.
12691203
@@ -1365,7 +1299,7 @@ an :term:`importer`.
13651299
13661300 .. versionadded :: 3.4
13671301
1368- .. function :: cache_from_source(path, debug_override=None, *, optimization=None)
1302+ .. function :: cache_from_source(path, *, optimization=None)
13691303
13701304 Return the :pep: `3147 `/:pep: `488 ` path to the byte-compiled file associated
13711305 with the source *path *. For example, if *path * is ``/foo/bar/baz.py `` the return
@@ -1384,12 +1318,6 @@ an :term:`importer`.
13841318 ``/foo/bar/__pycache__/baz.cpython-32.opt-2.pyc ``. The string representation
13851319 of *optimization * can only be alphanumeric, else :exc: `ValueError ` is raised.
13861320
1387- The *debug_override * parameter is deprecated and can be used to override
1388- the system's value for ``__debug__ ``. A ``True `` value is the equivalent of
1389- setting *optimization * to the empty string. A ``False `` value is the same as
1390- setting *optimization * to ``1 ``. If both *debug_override * an *optimization *
1391- are not ``None `` then :exc: `TypeError ` is raised.
1392-
13931321 .. versionadded :: 3.4
13941322
13951323 .. versionchanged :: 3.5
@@ -1399,6 +1327,9 @@ an :term:`importer`.
13991327 .. versionchanged :: 3.6
14001328 Accepts a :term: `path-like object `.
14011329
1330+ .. versionchanged :: 3.15
1331+ The *debug_override * parameter was removed.
1332+
14021333
14031334.. function :: source_from_cache(path)
14041335
0 commit comments