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.2/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.2 library is then
installed in /usr/local/lib/python2.2 (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.2/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:
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
sitecustomizeis still attempted.