Site-specific configuration hook
================================
A standard way to reference site-specific modules.
*This module is automatically imported during initialization.*
In earlier versions of Python (up to and including 1.5a3), scripts or
modules that needed to use site-specific modules would place `import
site' somewhere near the top of their code. This is no longer
necessary.
This will append site-specific paths to the module search path.
It starts by constructing up to four directories from a head and a tail
part. For the head part, it uses `sys.prefix' and `sys.exec_prefix';
empty heads are skipped. For the tail part, it uses the empty string
(on Macintosh or Windows) or it uses first
`lib/python2.1/site-packages' and then `lib/site-python' (on UNIX).
For each of the distinct head-tail combinations, it sees if it refers
to an existing directory, and if so, adds to `sys.path', and also
inspects the path for configuration files.
A path configuration file is a file whose name has the form
`PACKAGE.pth'; its contents are additional items (one per line) to be
added to `sys.path'. Non-existing items are never added to `sys.path',
but no check is made that the item refers to a directory (rather than a
file). No item is added to `sys.path' more than once. Blank lines and
lines beginning with `#' are skipped. Lines starting with `import' are
executed.
For example, suppose `sys.prefix' and `sys.exec_prefix' are set to
`/usr/local'. The Python 2.1.3 library is then installed in
`/usr/local/lib/python2.1' (where only the first three characters of
`sys.version' are used to form the installation path name). Suppose
this has a subdirectory `/usr/local/lib/python2.1/site-packages' with
three subsubdirectories, `foo', `bar' and `spam', and two path
configuration files, `foo.pth' and `bar.pth'. Assume `foo.pth'
contains the following:
# foo package configuration
foo
bar
bletch
and `bar.pth' contains:
# bar package configuration
bar
Then the following directories are added to `sys.path', in this order:
/usr/local/lib/python1.5/site-packages/bar
/usr/local/lib/python1.5/site-packages/foo
Note that `bletch' is omitted because it doesn't exist; the `bar'
directory precedes the `foo' directory because `bar.pth' comes
alphabetically before `foo.pth'; and `spam' is omitted because it is
not mentioned in either path configuration file.
After these path manipulations, an attempt is made to import a module
named `sitecustomize' , which can perform arbitrary site-specific
customizations. If this import fails with an `ImportError' exception,
it is silently ignored.
Note that for some non-UNIX systems, `sys.prefix' and `sys.exec_prefix'
are empty, and the path manipulations are skipped; however the import of
`sitecustomize' is still attempted.