PEP 271: Prefixing sys.path by command line option

Frederic Giacometti frederic.giacometti at arakne.com
Tue Sep 18 03:43:46 CEST 2001


I'm pasting below the PEP 271 for python 2.2
(http://python.sourceforge.net/peps/pep-0271.html), for public debate.

The purpose of the PEP is the introduction of new command line option to
python (-P), whose role would be similar to java's -classpath option:
providing the ability to explicitly set the PYTHONPATH value from the
command line.
This feature can be immensely useful when calling python from scripts
(shell, Makefiles...), in situations for which either multiple PYTHONPATH
values are needed, or where the PYTHONPATH inherited from the parent
environment is not reliable.
Last, the -P option can also be used to expose in the scripts the value of
PYTHONPATH in a highly readable manner.

Typical applications are in development of build, test, and configuration
scripts.

Comments and suggestions for improvement, and questions are welcome.

Thanks!

Frederic Giacometti
fred at arakne.com
fredg at scripps.edu

-----------------------------------------------------
Abstract

    At present, setting the PYTHONPATH environment variable is the
    only method for defining additional Python module search
    directories.

    This PEP introduces the '-P' valued option to the python command
    as an alternative to PYTHONPATH.


Rationale

    On Unix:

        python -P $SOMEVALUE

    will be equivalent to

        env PYTHONPATH=$SOMEVALUE python

    On Windows 2K:

        python -P %SOMEVALUE%

    will (almost) be equivalent to

        set __PYTHONPATH=%PYTHONPATH% && set PYTHONPATH=%SOMEVALUE%\
            && python && set PYTHONPATH=%__PYTHONPATH%


Other Information

    This option is equivalent to the 'java -classpath' option.


When to use this option

    This option is intended to ease and make more robust the use of
    Python in test or build scripts, for instance.


Reference Implementation

    A patch implementing this is available from SourceForge:


http://sourceforge.net/tracker/download.php?group_id=5470&atid=305470&file_i
d=6916&aid=429614

    with the patch discussion at:


http://sourceforge.net/tracker/?func=detail&atid=305470&aid=429614&group_id=
5470








More information about the Python-list mailing list