]> granicus.if.org Git - python/commitdiff
Issue #15288: Clarify that pkgutil.walk_packages() and friends will no
authorBrett Cannon <brett@python.org>
Mon, 9 Jul 2012 18:10:23 +0000 (14:10 -0400)
committerBrett Cannon <brett@python.org>
Mon, 9 Jul 2012 18:10:23 +0000 (14:10 -0400)
longer work as expected in Python 3.3 as importlib's loaders do not
implement the non-standard iter_modules() method. Also link to the
term "loader" in the requisite notes to help make it clearer what has
happened.

Doc/library/pkgutil.rst
Misc/NEWS

index 0aee4e7637f27593a36601e144f66713edcd8587..f85bb0bec2005f61929906a5d5faeccb96348b95 100644 (file)
@@ -139,8 +139,13 @@ support.
    *prefix* is a string to output on the front of every module name on output.
 
    .. note::
-      Only works for importers which define a ``iter_modules()`` method, which
-      is non-standard but implemented by classes defined in this module.
+      Only works wtih a :term:`loader` which defines a ``iter_modules()``
+      method, which is non-standard but implemented by classes defined in this
+      module.
+
+   .. versionchanged:: 3.3
+      As of Python 3.3, the import system provides loaders by default, but they
+      do not include the ``iter_modules()`` method required by this function.
 
 
 .. function:: walk_packages(path=None, prefix='', onerror=None)
@@ -171,8 +176,12 @@ support.
       walk_packages(ctypes.__path__, ctypes.__name__ + '.')
 
    .. note::
-      Only works for importers which define a ``iter_modules()`` method, which
-      is non-standard but implemented by classes defined in this module.
+      Only works for a :term:`loader` which define a ``iter_modules()`` method,
+      which is non-standard but implemented by classes defined in this module.
+
+   .. versionchanged:: 3.3
+      As of Python 3.3, the import system provides loaders by default, but they
+      do not include the ``iter_modules()`` method required by this function.
 
 
 .. function:: get_data(package, resource)
index 353b0cd16ef9cb672df5e04d68de4bc8b5f68541..e3f22063810e88e61faed29d1a6d9b8f2d04c650 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -101,6 +101,11 @@ Tools/Demos
 Documentation
 -------------
 
+- Issue #15288: Link to the term "loader" in notes in pkgutil about how things
+  won't work as expected in Python 3.3 and mark the requisite functions as
+  "changed" since they will no longer work with modules directly imported by
+  import itself.
+
 - Issue #13557: Clarify effect of giving two different namespaces to exec or
   execfile().