summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2012-11-17 14:33:14 (GMT)
committerBrett Cannon <brett@python.org>2012-11-17 14:33:14 (GMT)
commit10f19812b54c5aa96e33335bed56247be97e0cc8 (patch)
treeeb33db574a146171b3a98418c8502ed5f63088cc
parentac6ca3dc021d80ae3d4075fd6f4d27942484f743 (diff)
parent56b4ca78d8cd30e6f2a1292fa9d7004ef157f68c (diff)
downloadcpython-10f19812b54c5aa96e33335bed56247be97e0cc8.zip
cpython-10f19812b54c5aa96e33335bed56247be97e0cc8.tar.gz
cpython-10f19812b54c5aa96e33335bed56247be97e0cc8.tar.bz2
Merge fix for #16489 from 3.3
-rw-r--r--Doc/library/importlib.rst9
-rw-r--r--Lib/importlib/__init__.py4
-rw-r--r--Misc/NEWS3
3 files changed, 10 insertions, 6 deletions
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
index 55bd59e..0369570 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:
diff --git a/Misc/NEWS b/Misc/NEWS
index 9a78c08..a544b8b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -376,6 +376,9 @@ Build
Documentation
-------------
+- Issue #16489: Make it clearer that importlib.find_loader() needs parent
+ packages to be explicitly imported.
+
- Issue #16400: Update the description of which versions of a given package
PyPI displays.