diff options
-rw-r--r-- | Doc/library/importlib.rst | 9 | ||||
-rw-r--r-- | Lib/importlib/__init__.py | 4 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 10 insertions, 6 deletions
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst index 681f1d9..083656e 100644 --- a/Doc/library/importlib.rst +++ b/Doc/library/importlib.rst @@ -94,11 +94,10 @@ Functions :exc:`ValueError` is raised). Otherwise a search using :attr:`sys.meta_path` is done. ``None`` is returned if no loader is found. - A dotted name does not have its parent's implicitly imported. If that is - desired (although not nessarily required to find the loader, it will most - likely be needed if the loader actually is used to load the module), then - you will have to import the packages containing the module prior to calling - this function. + A dotted name does not have its parent's implicitly imported as that requires + loading them and that may not be desired. To properly import a submodule you + will need to import all parent packages of the submodule and use the correct + argument to *path*. .. function:: invalidate_caches() diff --git a/Lib/importlib/__init__.py b/Lib/importlib/__init__.py index 6f40dac..22c90f2 100644 --- a/Lib/importlib/__init__.py +++ b/Lib/importlib/__init__.py @@ -55,7 +55,9 @@ def find_loader(name, path=None): value of 'path' given to the finders. None is returned if no loader could be found. - Dotted names do not have their parent packages implicitly imported. + Dotted names do not have their parent packages implicitly imported. You will + most likely need to explicitly import all parent packages in the proper + order for a submodule to get the correct loader. """ try: @@ -271,6 +271,9 @@ Tools/Demos Documentation ------------- +- Issue #16489: Make it clearer that importlib.find_loader() requires any and + all packages to be separately imported. + - Issue #16400: Update the description of which versions of a given package PyPI displays. |