Issue #16489: Make it clearer that importlib.find_loader() requires

the user to import any parent packages.
This commit is contained in:
Brett Cannon 2012-11-17 09:30:55 -05:00
parent 4a42ec5089
commit 56b4ca78d8
3 changed files with 10 additions and 6 deletions

View File

@ -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()

View File

@ -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:

View File

@ -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.