diff options
author | Georg Brandl <georg@python.org> | 2007-08-15 14:28:22 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2007-08-15 14:28:22 (GMT) |
commit | 116aa62bf54a39697e25f21d6cf6799f7faa1349 (patch) | |
tree | 8db5729518ed4ca88e26f1e26cc8695151ca3eb3 /Doc/library/pkgutil.rst | |
parent | 739c01d47b9118d04e5722333f0e6b4d0c8bdd9e (diff) | |
download | cpython-116aa62bf54a39697e25f21d6cf6799f7faa1349.zip cpython-116aa62bf54a39697e25f21d6cf6799f7faa1349.tar.gz cpython-116aa62bf54a39697e25f21d6cf6799f7faa1349.tar.bz2 |
Move the 3k reST doc tree in place.
Diffstat (limited to 'Doc/library/pkgutil.rst')
-rw-r--r-- | Doc/library/pkgutil.rst | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Doc/library/pkgutil.rst b/Doc/library/pkgutil.rst new file mode 100644 index 0000000..1fbfb04 --- /dev/null +++ b/Doc/library/pkgutil.rst @@ -0,0 +1,43 @@ + +:mod:`pkgutil` --- Package extension utility +============================================ + +.. module:: pkgutil + :synopsis: Utilities to support extension of packages. + + +.. versionadded:: 2.3 + +This module provides a single function: + + +.. function:: extend_path(path, name) + + Extend the search path for the modules which comprise a package. Intended use is + to place the following code in a package's :file:`__init__.py`:: + + from pkgutil import extend_path + __path__ = extend_path(__path__, __name__) + + This will add to the package's ``__path__`` all subdirectories of directories on + ``sys.path`` named after the package. This is useful if one wants to distribute + different parts of a single logical package as multiple directories. + + It also looks for :file:`\*.pkg` files beginning where ``*`` matches the *name* + argument. This feature is similar to :file:`\*.pth` files (see the :mod:`site` + module for more information), except that it doesn't special-case lines starting + with ``import``. A :file:`\*.pkg` file is trusted at face value: apart from + checking for duplicates, all entries found in a :file:`\*.pkg` file are added to + the path, regardless of whether they exist on the filesystem. (This is a + feature.) + + If the input path is not a list (as is the case for frozen packages) it is + returned unchanged. The input path is not modified; an extended copy is + returned. Items are only appended to the copy at the end. + + It is assumed that ``sys.path`` is a sequence. Items of ``sys.path`` that are + not (Unicode or 8-bit) strings referring to existing directories are ignored. + Unicode items on ``sys.path`` that cause errors when used as filenames may cause + this function to raise an exception (in line with :func:`os.path.isdir` + behavior). + |