diff options
author | Brett Cannon <brett@python.org> | 2012-07-09 18:10:23 (GMT) |
---|---|---|
committer | Brett Cannon <brett@python.org> | 2012-07-09 18:10:23 (GMT) |
commit | b19449751f7e8b83ab6b8669111c111b905a14b7 (patch) | |
tree | e154d51d91f84793b31da7ca7bd7653fa704edd8 /Doc | |
parent | 19a2f5961ce235e9ca9944069b0f5f21b340de9c (diff) | |
download | cpython-b19449751f7e8b83ab6b8669111c111b905a14b7.zip cpython-b19449751f7e8b83ab6b8669111c111b905a14b7.tar.gz cpython-b19449751f7e8b83ab6b8669111c111b905a14b7.tar.bz2 |
Issue #15288: Clarify that pkgutil.walk_packages() and friends will no
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.
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/pkgutil.rst | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Doc/library/pkgutil.rst b/Doc/library/pkgutil.rst index 0aee4e7..f85bb0b 100644 --- a/Doc/library/pkgutil.rst +++ b/Doc/library/pkgutil.rst @@ -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) |