diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index b113c8f4489..a34666d2dc5 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -335,6 +335,8 @@ Miscellaneous options Environment variables --------------------- +These environment variables influence Python's behavior. + .. envvar:: PYTHONHOME Change the location of the standard Python libraries. By default, the @@ -350,7 +352,7 @@ Environment variables .. envvar:: PYTHONPATH - Augments the default search path for module files. The format is the same as + Augment the default search path for module files. The format is the same as the shell's :envvar:`PATH`: one or more directory pathnames separated by colons. Non-existent directories are silently ignored. @@ -400,6 +402,9 @@ Environment variables If this is set to a non-empty string it is equivalent to specifying the :option:`-i` option. + This variable can also be modified by Python code using :data:`os.environ` + to force inspect mode on program termination. + .. envvar:: PYTHONUNBUFFERED @@ -422,7 +427,40 @@ Environment variables .. envvar:: PYTHONDONTWRITEBYTECODE - If given, Python won't try to write ``.pyc`` or ``.pyo`` files on the + If this is set, Python won't try to write ``.pyc`` or ``.pyo`` files on the import of source modules. .. versionadded:: 2.6 + + +.. envvar:: PYTHONEXECUTABLE + + If this environment variable is set, ``sys.argv[0]`` will be set to its + value instead of the value got through the C runtime. Only works on + MacOS X. + + +Debug-mode variables +^^^^^^^^^^^^^^^^^^^^ + +Setting these variables only has an effect in a debug build of Python, that is, +if Python was configured with the :opt:`--with-pydebug` build option. + +.. envvar:: PYTHONTHREADDEBUG + + If set, Python will print debug threading debug info. + + .. versionchanged:: 2.6 + Previously, this variable was called ``THREADDEBUG``. + +.. envvar:: PYTHONDUMPREFS + + If set, Python will dump objects and reference counts still alive after + shutting down the interpreter. + + +.. envvar:: PYTHONMALLOCSTATS + + If set, Python will print memory allocation statistics every time a new + object arena is created, and on shutdown. + diff --git a/Misc/NEWS b/Misc/NEWS index dbc0034c13a..e76e7333efc 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,8 @@ What's New in Python 2.6 alpha 1? Core and builtins ----------------- +- Patch #1668: renamed THREADDEBUG envvar to PYTHONTHREADDEBUG. + - Patch #602345: Add -B command line option, PYTHONDONTWRITEBYTECODE envvar and sys.dont_write_bytecode attribute. All these can be set to forbid Python to attempt to write compiled bytecode files. diff --git a/Modules/main.c b/Modules/main.c index 71c9c5909fb..3d4b9bed8c8 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -62,7 +62,7 @@ Options and arguments (and corresponding environment variables):\n\ -B : don't write .py[co] files on import; also PYTHONDONTWRITEBYTECODE=x\n\ -c cmd : program passed in as string (terminates option list)\n\ -d : debug output from parser; also PYTHONDEBUG=x\n\ --E : ignore environment variables (such as PYTHONPATH)\n\ +-E : ignore PYTHON* environment variables (such as PYTHONPATH)\n\ -h : print this help message and exit (also --help)\n\ -i : inspect interactively after running script; forces a prompt even\n\ "; diff --git a/Python/import.c b/Python/import.c index 8094f7d4779..d9550f5c682 100644 --- a/Python/import.c +++ b/Python/import.c @@ -1630,7 +1630,7 @@ case_ok(char *buf, Py_ssize_t len, Py_ssize_t namelen, char *name) FILEFINDBUF3 ffbuf; APIRET rc; - if (getenv("PYTHONCASEOK") != NULL) + if (Py_GETENV("PYTHONCASEOK") != NULL) return 1; rc = DosFindFirst(buf, diff --git a/Python/thread.c b/Python/thread.c index 3a2c7af6ff6..9a4dc251f9a 100644 --- a/Python/thread.c +++ b/Python/thread.c @@ -79,7 +79,7 @@ void PyThread_init_thread(void) { #ifdef Py_DEBUG - char *p = getenv("THREADDEBUG"); + char *p = Py_GETENV("PYTHONTHREADDEBUG"); if (p) { if (*p)