mirror of
https://github.com/python/cpython.git
synced 2026-03-20 20:01:16 +00:00
[3.6] bpo-31799: Make module.__spec__ more discoverable (GH-4010) (#4021)
bpo-31799: Make module.__spec__ more discoverable
(cherry picked from commit 191e313820)
This commit is contained in:
parent
06949585d2
commit
858ea4354f
2 changed files with 12 additions and 3 deletions
|
|
@ -1045,7 +1045,15 @@ find and load modules.
|
|||
|
||||
.. class:: ModuleSpec(name, loader, *, origin=None, loader_state=None, is_package=None)
|
||||
|
||||
A specification for a module's import-system-related state.
|
||||
A specification for a module's import-system-related state. This is
|
||||
typically exposed as the module's ``__spec__`` attribute. In the
|
||||
descriptions below, the names in parentheses give the corresponding
|
||||
attribute available directly on the module object.
|
||||
E.g. ``module.__spec__.origin == module.__file__``. Note however that
|
||||
while the *values* are usually equivalent, they can differ since there is
|
||||
no synchronization between the two objects. Thus it is possible to update
|
||||
the module's ``__path__`` at runtime, and this will not be automatically
|
||||
reflected in ``__spec__.submodule_search_locations``.
|
||||
|
||||
.. versionadded:: 3.4
|
||||
|
||||
|
|
|
|||
|
|
@ -519,8 +519,9 @@ and the loader that executes it. Most importantly, it allows the
|
|||
import machinery to perform the boilerplate operations of loading,
|
||||
whereas without a module spec the loader had that responsibility.
|
||||
|
||||
See :class:`~importlib.machinery.ModuleSpec` for more specifics on what
|
||||
information a module's spec may hold.
|
||||
The module's spec is exposed as the ``__spec__`` attribute on a module object.
|
||||
See :class:`~importlib.machinery.ModuleSpec` for details on the contents of
|
||||
the module spec.
|
||||
|
||||
.. versionadded:: 3.4
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue