GNU Info

Info Node: (python2.1-lib.info)site

(python2.1-lib.info)site


Next: user Prev: new Up: Python Runtime Services
Enter node , (file) or (file)node

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.


automatically generated by info2www version 1.2.2.9