symbian-qemu-0.9.1-12/python-2.6.1/Doc/library/site.rst
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 
       
     2 :mod:`site` --- Site-specific configuration hook
       
     3 ================================================
       
     4 
       
     5 .. module:: site
       
     6    :synopsis: A standard way to reference site-specific modules.
       
     7 
       
     8 
       
     9 **This module is automatically imported during initialization.** The automatic
       
    10 import can be suppressed using the interpreter's :option:`-S` option.
       
    11 
       
    12 .. index:: triple: module; search; path
       
    13 
       
    14 Importing this module will append site-specific paths to the module search path.
       
    15 
       
    16 .. index::
       
    17    pair: site-python; directory
       
    18    pair: site-packages; directory
       
    19 
       
    20 It starts by constructing up to four directories from a head and a tail part.
       
    21 For the head part, it uses ``sys.prefix`` and ``sys.exec_prefix``; empty heads
       
    22 are skipped.  For the tail part, it uses the empty string and then
       
    23 :file:`lib/site-packages` (on Windows) or
       
    24 :file:`lib/python|version|/site-packages` and then :file:`lib/site-python` (on
       
    25 Unix and Macintosh).  For each of the distinct head-tail combinations, it sees
       
    26 if it refers to an existing directory, and if so, adds it to ``sys.path`` and
       
    27 also inspects the newly added path for configuration files.
       
    28 
       
    29 A path configuration file is a file whose name has the form :file:`package.pth`
       
    30 and exists in one of the four directories mentioned above; its contents are
       
    31 additional items (one per line) to be added to ``sys.path``.  Non-existing items
       
    32 are never added to ``sys.path``, but no check is made that the item refers to a
       
    33 directory (rather than a file).  No item is added to ``sys.path`` more than
       
    34 once.  Blank lines and lines beginning with ``#`` are skipped.  Lines starting
       
    35 with ``import`` (followed by space or tab) are executed.
       
    36 
       
    37 .. versionchanged:: 2.6
       
    38    A space or tab is now required after the import keyword.
       
    39 
       
    40 .. index::
       
    41    single: package
       
    42    triple: path; configuration; file
       
    43 
       
    44 For example, suppose ``sys.prefix`` and ``sys.exec_prefix`` are set to
       
    45 :file:`/usr/local`.  The Python X.Y library is then installed in
       
    46 :file:`/usr/local/lib/python{X.Y}` (where only the first three characters of
       
    47 ``sys.version`` are used to form the installation path name).  Suppose this has
       
    48 a subdirectory :file:`/usr/local/lib/python{X.Y}/site-packages` with three
       
    49 subsubdirectories, :file:`foo`, :file:`bar` and :file:`spam`, and two path
       
    50 configuration files, :file:`foo.pth` and :file:`bar.pth`.  Assume
       
    51 :file:`foo.pth` contains the following::
       
    52 
       
    53    # foo package configuration
       
    54 
       
    55    foo
       
    56    bar
       
    57    bletch
       
    58 
       
    59 and :file:`bar.pth` contains::
       
    60 
       
    61    # bar package configuration
       
    62 
       
    63    bar
       
    64 
       
    65 Then the following version-specific directories are added to
       
    66 ``sys.path``, in this order::
       
    67 
       
    68    /usr/local/lib/pythonX.Y/site-packages/bar
       
    69    /usr/local/lib/pythonX.Y/site-packages/foo
       
    70 
       
    71 Note that :file:`bletch` is omitted because it doesn't exist; the :file:`bar`
       
    72 directory precedes the :file:`foo` directory because :file:`bar.pth` comes
       
    73 alphabetically before :file:`foo.pth`; and :file:`spam` is omitted because it is
       
    74 not mentioned in either path configuration file.
       
    75 
       
    76 .. index:: module: sitecustomize
       
    77 
       
    78 After these path manipulations, an attempt is made to import a module named
       
    79 :mod:`sitecustomize`, which can perform arbitrary site-specific customizations.
       
    80 If this import fails with an :exc:`ImportError` exception, it is silently
       
    81 ignored.
       
    82 
       
    83 .. index:: module: sitecustomize
       
    84 
       
    85 Note that for some non-Unix systems, ``sys.prefix`` and ``sys.exec_prefix`` are
       
    86 empty, and the path manipulations are skipped; however the import of
       
    87 :mod:`sitecustomize` is still attempted.
       
    88 
       
    89 
       
    90 .. data:: PREFIXES
       
    91 
       
    92    A list of prefixes for site package directories
       
    93 
       
    94    .. versionadded:: 2.6
       
    95 
       
    96 
       
    97 .. data:: ENABLE_USER_SITE
       
    98 
       
    99    Flag showing the status of the user site directory. True means the
       
   100    user site directory is enabled and added to sys.path. When the flag
       
   101    is None the user site directory is disabled for security reasons.
       
   102 
       
   103    .. versionadded:: 2.6
       
   104 
       
   105 
       
   106 .. data:: USER_SITE
       
   107 
       
   108    Path to the user site directory for the current Python version or None
       
   109 
       
   110    .. versionadded:: 2.6
       
   111 
       
   112 
       
   113 .. data:: USER_BASE
       
   114 
       
   115    Path to the base directory for user site directories
       
   116 
       
   117    .. versionadded:: 2.6
       
   118 
       
   119 
       
   120 .. envvar:: PYTHONNOUSERSITE
       
   121 
       
   122    .. versionadded:: 2.6
       
   123 
       
   124 
       
   125 .. envvar:: PYTHONUSERBASE
       
   126 
       
   127    .. versionadded:: 2.6
       
   128 
       
   129 
       
   130 .. function:: addsitedir(sitedir, known_paths=None)
       
   131 
       
   132    Adds a directory to sys.path and processes its pth files.
       
   133 
       
   134 
       
   135 XXX Update documentation
       
   136 XXX document python -m site --user-base --user-site