[Python-checkins] cpython: Add a note about pkgutil and how some things do not work in the face of PEP 302

brett.cannon python-checkins at python.org
Mon Jul 9 20:15:39 CEST 2012


http://hg.python.org/cpython/rev/43f2ada6ee87
changeset:   78028:43f2ada6ee87
user:        Brett Cannon <brett at python.org>
date:        Mon Jul 09 14:15:32 2012 -0400
summary:
  Add a note about pkgutil and how some things do not work in the face of PEP 302 permeating throughout import.

files:
  Doc/whatsnew/3.3.rst |  8 +++++++-
  1 files changed, 7 insertions(+), 1 deletions(-)


diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst
--- a/Doc/whatsnew/3.3.rst
+++ b/Doc/whatsnew/3.3.rst
@@ -1721,7 +1721,7 @@
 * Because ``None`` is now inserted into :attr:`sys.path_importer_cache`, if you
   are clearing out entries in the dictionary of paths that do not have a
   finder, you will need to remove keys paired with values of ``None`` **and**
-  :class:`imp.NullImporter` to be backwards-compatible. This will need to extra
+  :class:`imp.NullImporter` to be backwards-compatible. This will lead to extra
   overhead on older versions of Python that re-insert ``None`` into
   :attr:`sys.path_importer_cache` where it repesents the use of implicit
   finders, but semantically it should not change anything.
@@ -1731,6 +1731,12 @@
   both the modification time and size of the source file the bytecode file was
   compiled from.
 
+* :func:`pkgutil.iter_modules` and :func:`pkgutil.walk_packages` no longer work
+  with modules imported using the default import system. Both functions have
+  always relied on a non-standard method (``iter_modules()``) to be defined on
+  loaders to work and the import system now always provides a loader for
+  modules but does not implement the non-standard method.
+
 
 Porting C code
 --------------

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list