load a module. Also raised when the "from list" in ``from ... import``
has a name that cannot be found.
- The :attr:`name` and :attr:`path` attributes can be set using keyword-only
- arguments to the constructor. When set they represent the name of the module
- that was attempted to be imported and the path to any file which triggered
- the exception, respectively.
+ The optional *name* and *path* keyword-only arguments
+ set the corresponding attributes:
+
+ .. attribute:: name
+
+ The name of the module that was attempted to be imported.
+
+ .. attribute:: path
+
+ The path to any file which triggered the exception.
.. versionchanged:: 3.3
Added the :attr:`name` and :attr:`path` attributes.
and add a few builtins, unless :option:`-S` was used. In that case, this module
can be safely imported with no automatic modifications to the module search path
or additions to the builtins. To explicitly trigger the usual site-specific
-additions, call the :func:`site.main` function.
+additions, call the :func:`main` function.
.. versionchanged:: 3.3
Importing the module used to trigger paths manipulation even when using
alphabetically before :file:`foo.pth`; and :file:`spam` is omitted because it is
not mentioned in either path configuration file.
-.. index:: pair: module; sitecustomize
+:mod:`sitecustomize`
+--------------------
+
+.. module:: sitecustomize
After these path manipulations, an attempt is made to import a module named
:mod:`sitecustomize`, which can perform arbitrary site-specific customizations.
It is typically created by a system administrator in the site-packages
directory. If this import fails with an :exc:`ImportError` or its subclass
-exception, and the exception's :attr:`name` attribute equals to ``'sitecustomize'``,
+exception, and the exception's :attr:`~ImportError.name`
+attribute equals to ``'sitecustomize'``,
it is silently ignored. If Python is started without output streams available, as
with :file:`pythonw.exe` on Windows (which is used by default to start IDLE),
attempted output from :mod:`sitecustomize` is ignored. Any other exception
causes a silent and perhaps mysterious failure of the process.
-.. index:: pair: module; usercustomize
+:mod:`usercustomize`
+--------------------
+
+.. module:: usercustomize
After this, an attempt is made to import a module named :mod:`usercustomize`,
which can perform arbitrary user-specific customizations, if
-:data:`ENABLE_USER_SITE` is true. This file is intended to be created in the
+:data:`~site.ENABLE_USER_SITE` is true. This file is intended to be created in the
user site-packages directory (see below), which is part of ``sys.path`` unless
disabled by :option:`-s`. If this import fails with an :exc:`ImportError` or
-its subclass exception, and the exception's :attr:`name` attribute equals to
-``'usercustomize'``, it is silently ignored.
+its subclass exception, and the exception's :attr:`~ImportError.name`
+attribute equals to ``'usercustomize'``, 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
:mod:`sitecustomize` and :mod:`usercustomize` is still attempted.
+.. currentmodule:: site
.. _rlcompleter-config: