ASPN ActiveState Programmer Network
  ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups | Web Services
SEARCH

Reference
ActivePython 2.5
Python Documentation
Library Reference
26. Python Runtime Services
26.1 sys -- System-specific parameters and functions
26.2 builtin -- Built-in objects
26.3 main -- Top-level script environment
26.4 warnings -- Warning control
26.5 contextlib -- Utilities for with-statement contexts.
26.6 atexit -- Exit handlers
26.7 traceback -- Print or retrieve a stack traceback
26.8 future -- Future statement definitions
26.9 gc -- Garbage Collector interface
26.10 inspect -- Inspect live objects
26.11 site -- Site-specific configuration hook
26.12 user -- User-specific configuration hook
26.13 fpectl -- Floating point exception control

MyASPN >> Reference >> ActivePython 2.5 >> Python Documentation >> Library Reference >> 26. Python Runtime Services
ActivePython 2.5 documentation

26.11 site -- Site-specific configuration hook

This module is automatically imported during initialization. The automatic import can be suppressed using the interpreter's -S option.

Importing this module 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 and then lib/site-packages (on Windows) or lib/python2.5/site-packages and then lib/site-python (on Unix and Macintosh). For each of the distinct head-tail combinations, it sees if it refers to an existing directory, and if so, adds it to sys.path and also inspects the newly added path for configuration files.

A path configuration file is a file whose name has the form package.pth and exists in one of the four directories mentioned above; 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.5.2 library is then installed in /usr/local/lib/python2.5 (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.5/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/python2.3/site-packages/bar
/usr/local/lib/python2.3/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.

See About this document... for information on suggesting changes.

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState 2004 All rights reserved