##
6.1.1 The Module Search Path

When a module named `spam` is imported, the interpreter searches for a file named "`spam.py`" in the current directory, and then in the list of directories specified by the environment variable $PYTHONPATH. This has the same syntax as the shell variable $PATH, i.e., a list of directory names. When $PYTHONPATH is not set, or when the file is not found there, the search continues in an installation-dependent default path; on Unix, this is usually "`.:/usr/local/lib/python`".

Actually, modules are searched in the list of directories given by the variable `sys.path` which is initialized from the directory containing the input script (or the current directory), $PYTHONPATH and the installation-dependent default. This allows Python programs that know what they're doing to modify or replace the module search path. See the section on Standard Modules later.