The Module Search Path

When a module named foo is imported, the interpreter searches for a file named foo.py in the list of directories specified by the environment variable PYTHONPATH. It has the same syntax as the Unix shell variable PATH, i.e., a list of colon-separated directory names. When PYTHONPATH is not set, or when the file is not found there, the search continues in an installation-dependent default path, usually .:/usr/local/lib/python.

Actually, modules are searched in the list of directories given by the variable sys.path which is initialized from 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.