howe.steven at gmail.com
Wed Apr 18 19:28:02 CEST 2007
genkuro at gmail.com wrote:
> I thought import used relative paths from either the python executable
> or the script being executed. I have a script pulling in code from an
> arbitrary directory. How is this happening?
> It's a RHEL 4 environment by the way. I couldn't find any relevant
> environment variables.
> Thanks from a newbie for any insight.
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, that is, 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. Note that because the directory containing the script being
run is on the search path, it is important that the script not have
the same name as a standard module, or Python will attempt to load
the script as a module when that module is imported. This will
generally be an error. See section 6.2
Modules,'' for more information.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list