diff options
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/importlib.rst | 7 | ||||
-rw-r--r-- | Doc/whatsnew/3.4.rst | 11 |
2 files changed, 18 insertions, 0 deletions
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst index 4cc4d10..566eb7a 100644 --- a/Doc/library/importlib.rst +++ b/Doc/library/importlib.rst @@ -722,6 +722,10 @@ find and load modules. Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all finders stored in :attr:`sys.path_importer_cache`. + .. versionchanged:: 3.4 + Calls objects in :data:sys.path_hooks with the current working directory + for ``''`` (i.e. the empty string). + .. class:: FileFinder(path, \*loader_details) @@ -748,6 +752,9 @@ find and load modules. .. versionadded:: 3.3 + .. versionchange:: 3.4 + The empty string is no longer special-cased to be changed into ``'.'``. + .. attribute:: path The path the finder will search in. diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index d7a6b9c..01e9259 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -675,3 +675,14 @@ that may require changes to your code. :c:func:`PyMem_RawRealloc`, or *NULL* if an error occurred, instead of a string allocated by :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc`. +* :cls:`importlib.machinery.PathFinder` now passes on the current working + directory to objects in :data:`sys.path_hooks` for the empty string. This + results in :data:`sys.path_importer_cache` never containing ``''``, thus + iterating through :data:`sys.path_importer_cache` based on :data:`sys.path` + will not find all keys. A module's ``__file__`` when imported in the current + working directory will also now have an absolute path, including when using + ``-m`` with the interpreter (this does not influence when the path to a file + is specified on the command-line). + +* :cls:`importlib.machinery.FileFinder` no longer special-cases the empty string + to be changed to ``'.'``. |