Newbie: import

Steven Howe howe.steven at gmail.com
Wed Apr 18 13:28:02 EDT 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.
>
>   
See ....

    http://docs.python.org/tut/node8.html#SECTION008110000000000000000


        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
    <http://docs.python.org/tut/node8.html#standardModules>, ``Standard
    Modules,'' for more information.

Then try

    import sys
    sys.path


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20070418/964dae9b/attachment.html>


More information about the Python-list mailing list