Skip to content

Instantly share code, notes, and snippets.

@stefanor
Last active October 10, 2025 14:19
Show Gist options
  • Select an option

  • Save stefanor/da32324f80e36f27819ba22ae0ab2098 to your computer and use it in GitHub Desktop.

Select an option

Save stefanor/da32324f80e36f27819ba22ae0ab2098 to your computer and use it in GitHub Desktop.
Python manpage diff
--- a/python.html 2025-10-10 16:13:00.283323882 +0200
+++ b/python.html 2025-10-10 16:10:32.196888169 +0200
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.23.0 -->
-<!-- CreationDate: Fri Oct 10 16:13:00 2025 -->
+<!-- CreationDate: Fri Oct 10 16:10:32 2025 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -167,7 +167,8 @@
PYTHONHOME that modify the behavior of the interpreter.</p></td></tr>
</table>
-<p style="margin-left:9%;"><b>-h , -? , --help</b></p>
+<p style="margin-left:9%;"><b>-h</b>, <b>-?</b>,
+<b>--help</b></p>
<p style="margin-left:18%;">Prints the usage for the
interpreter executable and exits.</p>
@@ -354,7 +355,7 @@
provides information on module cleanup at exit.</p></td></tr>
</table>
-<p style="margin-left:9%;"><b>-V , --version</b></p>
+<p style="margin-left:9%;"><b>-V</b>, <b>--version</b></p>
<p style="margin-left:18%;">Prints the Python version
number of the executable and exits. When given twice, print
@@ -383,11 +384,11 @@
<p style="margin-left:18%; margin-top: 1em">The action
names can be abbreviated as desired and the interpreter will
resolve them to the appropriate action name. For example,
-<b>-Wi</b> is the same as <b>-Wignore .</b></p>
+<b>-Wi</b> is the same as <b>-Wignore</b>.</p>
<p style="margin-left:18%; margin-top: 1em">The full form
of argument is:
-<i>action:message:category:module:lineno</i></p>
+<i>action</i><b>:</b><i>message</i><b>:</b><i>category</i><b>:</b><i>module</i><b>:</b><i>lineno</i></p>
<p style="margin-left:18%; margin-top: 1em">Empty fields
match all values; trailing empty fields may be omitted. For
@@ -434,10 +435,8 @@
<p style="margin-left:9%;"><b>-X</b> <i>option</i></p>
<p style="margin-left:18%;">Set implementation-specific
-option. The following options are available:</p>
-
-<p style="margin-left:18%; margin-top: 1em"><b>-X
-cpu_count=</b><i>N</i>: override the return value of
+option. The following options are available: <b><br>
+-X cpu_count=</b><i>N</i>: override the return value of
<i>os.cpu_count()</i>; <b><br>
-X cpu_count=default</b> cancels overriding; also
<b>PYTHON_CPU_COUNT</b></p>
@@ -608,7 +607,7 @@
to be able to access it). If no script name is given,
<i>sys.argv[0]</i> is an empty string; if <b>-c</b> is used,
<i>sys.argv[0]</i> contains the string
-<i>&rsquo;-c&rsquo;.</i> Note that options interpreted by
+&rsquo;<i>-c</i>&rsquo; . Note that options interpreted by
the Python interpreter itself are not placed in
<i>sys.argv</i>.</p>
--- a/python.txt 2025-10-10 16:11:50.493934716 +0200
+++ b/python.txt 2025-10-10 16:11:38.217730980 +0200
@@ -54,7 +54,7 @@
--EE Ignore environment variables like PYTHONPATH and PYTHONHOME that
modify the behavior of the interpreter.
- --hh ,, --?? ,, ----hheellpp
+ --hh, --??, ----hheellpp
Prints the usage for the interpreter executable and exits.
----hheellpp--eennvv
@@ -119,7 +119,7 @@
for when searching for a module. Also provides information on
module cleanup at exit.
- --VV ,, ----vveerrssiioonn
+ --VV, ----vveerrssiioonn
Prints the Python version number of the executable and exits.
When given twice, print more information about the build.
@@ -142,10 +142,10 @@
The action names can be abbreviated as desired and the inter‐
preter will resolve them to the appropriate action name. For ex‐
- ample, --WWii is the same as --WWiiggnnoorree ..
+ ample, --WWii is the same as --WWiiggnnoorree.
- The full form of argument is: _a_c_t_i_o_n_:_m_e_s_s_a_g_e_:_c_a_t_e_g_o_r_y_:_m_o_d_‐
- _u_l_e_:_l_i_n_e_n_o
+ The full form of argument is: _a_c_t_i_o_n::_m_e_s_s_a_g_e::_c_a_t_e_g_o_r_y::_m_o_d_‐
+ _u_l_e::_l_i_n_e_n_o
Empty fields match all values; trailing empty fields may be
omitted. For example --WW iiggnnoorree::::DDeepprreeccaattiioonnWWaarrnniinngg ignores all
@@ -184,114 +184,80 @@
--XX _o_p_t_i_o_n
Set implementation-specific option. The following options are
available:
-
--XX ccppuu__ccoouunntt==_N: override the return value of _o_s_._c_p_u___c_o_u_n_t_(_);
- --XX ccppuu__ccoouunntt==ddeeffaauulltt cancels overriding; also
- PPYYTTHHOONN__CCPPUU__CCOOUUNNTT
+ --XX ccppuu__ccoouunntt==ddeeffaauulltt cancels overriding; also PPYYTTHHOONN__CCPPUU__CCOOUUNNTT
- --XX ddeevv: enable CPython's "development mode", introducing ad‐
- ditional
- runtime checks which are too expensive to be enabled by
- default. It
- will not be more verbose than the default if the code is
- correct: new
- warnings are only emitted when an issue is detected. Ef‐
- fect of the
+ --XX ddeevv: enable CPython's "development mode", introducing additional
+ runtime checks which are too expensive to be enabled by default. It
+ will not be more verbose than the default if the code is correct: new
+ warnings are only emitted when an issue is detected. Effect of the
developer mode:
* Add default warning filter, as --WW ddeeffaauulltt
* Install debug hooks on memory allocators: see the
PyMem_SetupDebugHooks() C function
- * Enable the faulthandler module to dump the Python
- traceback on a
+ * Enable the faulthandler module to dump the Python traceback on a
crash
* Enable asyncio debug mode
* Set the dev_mode attribute of sys.flags to True
* io.IOBase destructor logs close() exceptions
- --XX iimmppoorrttttiimmee: show how long each import takes. It shows
- module name,
- cumulative time (including nested imports) and self time
- (excluding
- nested imports). Note that its output may be broken in
- multi-threaded
+ --XX iimmppoorrttttiimmee: show how long each import takes. It shows module name,
+ cumulative time (including nested imports) and self time (excluding
+ nested imports). Note that its output may be broken in multi-threaded
application. Typical usage is
ppyytthhoonn33 --XX iimmppoorrttttiimmee --cc ''iimmppoorrtt aassyynncciioo''
- --XX iimmppoorrttttiimmee==22 enables additional output that indicates
- when an
- imported module has already been loaded. In such cases,
- the string
+ --XX iimmppoorrttttiimmee==22 enables additional output that indicates when an
+ imported module has already been loaded. In such cases, the string
ccaacchheedd will be printed in both time columns.
--XX ffaauulltthhaannddlleerr: enable faulthandler
--XX ffrroozzeenn__mmoodduulleess==[oonn|ooffff]: whether or not frozen modules
should be used.
- The default is "on" (or "off" if you are running a local
- build).
+ The default is "on" (or "off" if you are running a local build).
--XX ggiill==[00|11]: enable (1) or disable (0) the GIL; also
PPYYTTHHOONN__GGIILL
Only available in builds configured with ----ddiissaabbllee--ggiill.
- --XX iinntt__mmaaxx__ssttrr__ddiiggiittss==_n_u_m_b_e_r: limit the size of int<->str
- conversions.
- This helps avoid denial of service attacks when parsing
- untrusted data.
- The default is sys.int_info.default_max_str_digits. 0
- disables.
-
- --XX nnoo__ddeebbuugg__rraannggeess: disable the inclusion of the tables map‐
- ping extra
- location information (end line, start column offset and
- end column
- offset) to every instruction in code objects. This is
- useful when
- smaller code objects and pyc files are desired as well as
- suppressing
- the extra visual location indicators when the interpreter
- displays
+ --XX iinntt__mmaaxx__ssttrr__ddiiggiittss==_n_u_m_b_e_r: limit the size of int<->str conversions.
+ This helps avoid denial of service attacks when parsing untrusted data.
+ The default is sys.int_info.default_max_str_digits. 0 disables.
+
+ --XX nnoo__ddeebbuugg__rraannggeess: disable the inclusion of the tables mapping extra
+ location information (end line, start column offset and end column
+ offset) to every instruction in code objects. This is useful when
+ smaller code objects and pyc files are desired as well as suppressing
+ the extra visual location indicators when the interpreter displays
tracebacks.
- --XX ppeerrff: support the Linux "perf" profiler; also PPYYTTHHOONNPPEERRFF‐‐
- SSUUPPPPOORRTT==11
+ --XX ppeerrff: support the Linux "perf" profiler; also PPYYTTHHOONNPPEERRFFSSUUPPPPOORRTT==11
- --XX ppeerrff__jjiitt: support the Linux "perf" profiler with DWARF
- support;
+ --XX ppeerrff__jjiitt: support the Linux "perf" profiler with DWARF support;
also PPYYTTHHOONN__PPEERRFF__JJIITT__SSUUPPPPOORRTT==11
- --XX pprreessiittee==_M_O_D: import this module before site; also
- PPYYTTHHOONN__PPRREESSIITTEE
+ --XX pprreessiittee==_M_O_D: import this module before site; also PPYYTTHHOONN__PPRREESSIITTEE
This only works on debug builds.
- --XX ppyyccaacchhee__pprreeffiixx==_P_A_T_H: enable writing .pyc files to a par‐
- allel
- tree rooted at the given directory instead of to the code
- tree.
-
- --XX sshhoowwrreeffccoouunntt: output the total reference count and number
- of used
- memory blocks when the program finishes or after each
- statement in the
+ --XX ppyyccaacchhee__pprreeffiixx==_P_A_T_H: enable writing .pyc files to a parallel
+ tree rooted at the given directory instead of to the code tree.
+
+ --XX sshhoowwrreeffccoouunntt: output the total reference count and number of used
+ memory blocks when the program finishes or after each statement in the
interactive interpreter. This only works on debug builds
- --XX ttrraacceemmaalllloocc: start tracing Python memory allocations us‐
- ing the
- tracemalloc module. By default, only the most recent
- frame is stored in a
- traceback of a trace. Use -X tracemalloc=NFRAME to start
- tracing with a
+ --XX ttrraacceemmaalllloocc: start tracing Python memory allocations using the
+ tracemalloc module. By default, only the most recent frame is stored in a
+ traceback of a trace. Use -X tracemalloc=NFRAME to start tracing with a
traceback limit of NFRAME frames
--XX uuttff88: enable UTF-8 mode for operating system interfaces,
- overriding the default locale-aware mode. --XX uuttff88==00 ex‐
- plicitly
- disables UTF-8 mode (even when it would otherwise acti‐
- vate
+ overriding the default locale-aware mode. --XX uuttff88==00 explicitly
+ disables UTF-8 mode (even when it would otherwise activate
automatically). See PPYYTTHHOONNUUTTFF88 for more details
- --XX wwaarrnn__ddeeffaauulltt__eennccooddiinngg: enable opt-in EncodingWarning for
- 'encoding=None'
+ --XX wwaarrnn__ddeeffaauulltt__eennccooddiinngg: enable opt-in EncodingWarning for 'encoding=None'
--xx Skip the first line of the source. This is intended for a DOS
@@ -313,24 +279,24 @@
passed to the script in the Python variable _s_y_s_._a_r_g_v, which is a list
of strings (you must first _i_m_p_o_r_t _s_y_s to be able to access it). If no
script name is given, _s_y_s_._a_r_g_v_[_0_] is an empty string; if --cc is used,
- _s_y_s_._a_r_g_v_[_0_] contains the string _'_-_c_'_. Note that options interpreted by
- the Python interpreter itself are not placed in _s_y_s_._a_r_g_v.
+ _s_y_s_._a_r_g_v_[_0_] contains the string '_-_c' . Note that options interpreted
+ by the Python interpreter itself are not placed in _s_y_s_._a_r_g_v.
- In interactive mode, the primary prompt is `>>>'; the second prompt
- (which appears when a command is not complete) is `...'. The prompts
- can be changed by assignment to _s_y_s_._p_s_1 or _s_y_s_._p_s_2. The interpreter
- quits when it reads an EOF at a prompt. When an unhandled exception
- occurs, a stack trace is printed and control returns to the primary
- prompt; in non-interactive mode, the interpreter exits after printing
+ In interactive mode, the primary prompt is `>>>'; the second prompt
+ (which appears when a command is not complete) is `...'. The prompts
+ can be changed by assignment to _s_y_s_._p_s_1 or _s_y_s_._p_s_2. The interpreter
+ quits when it reads an EOF at a prompt. When an unhandled exception
+ occurs, a stack trace is printed and control returns to the primary
+ prompt; in non-interactive mode, the interpreter exits after printing
the stack trace. The interrupt signal raises the _K_e_y_b_o_a_r_d_I_n_t_e_r_r_u_p_t ex‐
- ception; other UNIX signals are not caught (except that SIGPIPE is
- sometimes ignored, in favor of the _I_O_E_r_r_o_r exception). Error messages
+ ception; other UNIX signals are not caught (except that SIGPIPE is
+ sometimes ignored, in favor of the _I_O_E_r_r_o_r exception). Error messages
are written to stderr.
FFIILLEESS AANNDD DDIIRREECCTTOORRIIEESS
These are subject to difference depending on local installation conven‐
- tions; ${prefix} and ${exec_prefix} are installation-dependent and
- should be interpreted as for GNU software; they may be the same. The
+ tions; ${prefix} and ${exec_prefix} are installation-dependent and
+ should be interpreted as for GNU software; they may be the same. The
default for both is _/_u_s_r_/_l_o_c_a_l.
_$_{_e_x_e_c___p_r_e_f_i_x_}_/_b_i_n_/_p_y_t_h_o_n
@@ -343,29 +309,29 @@
_$_{_p_r_e_f_i_x_}_/_i_n_c_l_u_d_e_/_p_y_t_h_o_n_<_v_e_r_s_i_o_n_>
_$_{_e_x_e_c___p_r_e_f_i_x_}_/_i_n_c_l_u_d_e_/_p_y_t_h_o_n_<_v_e_r_s_i_o_n_>
- Recommended locations of the directories containing the include
- files needed for developing Python extensions and embedding the
+ Recommended locations of the directories containing the include
+ files needed for developing Python extensions and embedding the
interpreter.
EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
PYTHONASYNCIODEBUG
- If this environment variable is set to a non-empty string, en‐
+ If this environment variable is set to a non-empty string, en‐
able the debug mode of the asyncio module.
PYTHON_BASIC_REPL
- If this variable is set to any value, the interpreter will not
- attempt to load the Python-based REPL that requires curses and
- readline, and will instead use the traditional parser-based
+ If this variable is set to any value, the interpreter will not
+ attempt to load the Python-based REPL that requires curses and
+ readline, and will instead use the traditional parser-based
REPL.
PYTHONBREAKPOINT
- If this environment variable is set to 0, it disables the de‐
- fault debugger. It can be set to the callable of your debugger
+ If this environment variable is set to 0, it disables the de‐
+ fault debugger. It can be set to the callable of your debugger
of choice.
PYTHONCOERCECLOCALE
- If set to the value 0, causes the main Python command line ap‐
- plication to skip coercing the legacy ASCII-based C and POSIX
+ If set to the value 0, causes the main Python command line ap‐
+ plication to skip coercing the legacy ASCII-based C and POSIX
locales to a more capable UTF-8 based alternative.
PYTHON_COLORS
@@ -373,108 +339,108 @@
ious kinds of output. Setting it to 0 deactivates this behavior.
PYTHON_CPU_COUNT
- If this variable is set to a positive integer, it overrides the
+ If this variable is set to a positive integer, it overrides the
return values of _o_s_._c_p_u___c_o_u_n_t and _o_s_._p_r_o_c_e_s_s___c_p_u___c_o_u_n_t.
See also the --XX ccppuu__ccoouunntt option.
PYTHONDEBUG
- If this is set to a non-empty string it is equivalent to speci‐
- fying the --dd option. If set to an integer, it is equivalent to
+ If this is set to a non-empty string it is equivalent to speci‐
+ fying the --dd option. If set to an integer, it is equivalent to
specifying --dd multiple times.
PYTHONEXECUTABLE
- If this environment variable is set, _s_y_s_._a_r_g_v_[_0_] will be set to
- its value instead of the value got through the C runtime. Only
+ If this environment variable is set, _s_y_s_._a_r_g_v_[_0_] will be set to
+ its value instead of the value got through the C runtime. Only
works on Mac OS X.
PYTHONFAULTHANDLER
- If this environment variable is set to a non-empty string,
- _f_a_u_l_t_h_a_n_d_l_e_r_._e_n_a_b_l_e_(_) is called at startup: install a handler
- for SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals to dump
+ If this environment variable is set to a non-empty string,
+ _f_a_u_l_t_h_a_n_d_l_e_r_._e_n_a_b_l_e_(_) is called at startup: install a handler
+ for SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals to dump
the Python traceback.
This is equivalent to the --XX ffaauulltthhaannddlleerr option.
PYTHON_FROZEN_MODULES
- If this variable is set to oonn or ooffff, it determines whether or
+ If this variable is set to oonn or ooffff, it determines whether or
not frozen modules are ignored by the import machinery. A value
- of oonn means they get imported and ooffff means they are ignored.
+ of oonn means they get imported and ooffff means they are ignored.
The default is oonn for non-debug builds (the normal case) and ooffff
for debug builds.
See also the --XX ffrroozzeenn__mmoodduulleess option.
PYTHON_GIL
- If this variable is set to 1, the global interpreter lock (GIL)
- will be forced on. Setting it to 0 forces the GIL off. Only
+ If this variable is set to 1, the global interpreter lock (GIL)
+ will be forced on. Setting it to 0 forces the GIL off. Only
available in builds configured with ----ddiissaabbllee--ggiill.
This is equivalent to the --XX ggiill option.
PYTHON_HISTORY
- This environment variable can be used to set the location of a
+ This environment variable can be used to set the location of a
history file (on Unix, it is _~_/_._p_y_t_h_o_n___h_i_s_t_o_r_y by default).
PYTHONNODEBUGRANGES
If this variable is set, it disables the inclusion of the tables
- mapping extra location information (end line, start column off‐
+ mapping extra location information (end line, start column off‐
set and end column offset) to every instruction in code objects.
- This is useful when smaller code objects and pyc files are de‐
- sired as well as suppressing the extra visual location indica‐
+ This is useful when smaller code objects and pyc files are de‐
+ sired as well as suppressing the extra visual location indica‐
tors when the interpreter displays tracebacks.
PYTHONDONTWRITEBYTECODE
- If this is set to a non-empty string it is equivalent to speci‐
+ If this is set to a non-empty string it is equivalent to speci‐
fying the --BB option (don't try to write _._p_y_c files).
PYTHONDEVMODE
- If this environment variable is set to a non-empty string, en‐
+ If this environment variable is set to a non-empty string, en‐
able Python's "development mode", introducing additional runtime
checks that are too expensive to be enabled by default.
This is equivalent to the --XX ddeevv option.
PYTHONHASHSEED
- If this variable is set to "random", a random value is used to
+ If this variable is set to "random", a random value is used to
seed the hashes of str and bytes objects.
- If PYTHONHASHSEED is set to an integer value, it is used as a
+ If PYTHONHASHSEED is set to an integer value, it is used as a
fixed seed for generating the hash() of the types covered by the
hash randomization. Its purpose is to allow repeatable hashing,
- such as for selftests for the interpreter itself, or to allow a
+ such as for selftests for the interpreter itself, or to allow a
cluster of python processes to share hash values.
- The integer must be a decimal number in the range
- [0,4294967295]. Specifying the value 0 will disable hash ran‐
+ The integer must be a decimal number in the range
+ [0,4294967295]. Specifying the value 0 will disable hash ran‐
domization.
PYTHONHOME
- Change the location of the standard Python libraries. By de‐
- fault, the libraries are searched in ${prefix}/lib/python<ver‐
- sion> and ${exec_prefix}/lib/python<version>, where ${prefix}
- and ${exec_prefix} are installation-dependent directories, both
- defaulting to _/_u_s_r_/_l_o_c_a_l. When $PYTHONHOME is set to a single
+ Change the location of the standard Python libraries. By de‐
+ fault, the libraries are searched in ${prefix}/lib/python<ver‐
+ sion> and ${exec_prefix}/lib/python<version>, where ${prefix}
+ and ${exec_prefix} are installation-dependent directories, both
+ defaulting to _/_u_s_r_/_l_o_c_a_l. When $PYTHONHOME is set to a single
directory, its value replaces both ${prefix} and ${exec_prefix}.
To specify different values for these, set $PYTHONHOME to ${pre‐
fix}:${exec_prefix}.
PYTHONINSPECT
- If this is set to a non-empty string it is equivalent to speci‐
+ If this is set to a non-empty string it is equivalent to speci‐
fying the --ii option.
PYTHONINTMAXSTRDIGITS
Limit the maximum digit characters in an int value when convert‐
- ing from a string and when converting an int back to a str. A
- value of 0 disables the limit. Conversions to or from bases 2,
+ ing from a string and when converting an int back to a str. A
+ value of 0 disables the limit. Conversions to or from bases 2,
4, 8, 16, and 32 are never limited.
This is equivalent to the --XX iinntt__mmaaxx__ssttrr__ddiiggiittss==_N_U_M_B_E_R option.
PYTHONIOENCODING
- If this is set before running the interpreter, it overrides the
- encoding used for stdin/stdout/stderr, in the syntax _e_n_c_o_d_i_n_g_‐
- _n_a_m_e::_e_r_r_o_r_h_a_n_d_l_e_r The _e_r_r_o_r_h_a_n_d_l_e_r part is optional and has the
+ If this is set before running the interpreter, it overrides the
+ encoding used for stdin/stdout/stderr, in the syntax _e_n_c_o_d_i_n_g_‐
+ _n_a_m_e::_e_r_r_o_r_h_a_n_d_l_e_r The _e_r_r_o_r_h_a_n_d_l_e_r part is optional and has the
same meaning as in str.encode. For stderr, the _e_r_r_o_r_h_a_n_d_l_e_r part
is ignored; the handler will always be ´backslashreplace´.
@@ -483,51 +449,51 @@
available memory allocators are _m_a_l_l_o_c and _p_y_m_a_l_l_o_c. The avail‐
able debug hooks are _d_e_b_u_g, _m_a_l_l_o_c___d_e_b_u_g, and _p_y_m_a_l_l_o_c___d_e_b_u_g.
- When Python is compiled in debug mode, the default is _p_y_m_a_l_‐
+ When Python is compiled in debug mode, the default is _p_y_m_a_l_‐
_l_o_c___d_e_b_u_g and the debug hooks are automatically used. Otherwise,
the default is _p_y_m_a_l_l_o_c.
PYTHONMALLOCSTATS
- If set to a non-empty string, Python will print statistics of
- the pymalloc memory allocator every time a new pymalloc object
+ If set to a non-empty string, Python will print statistics of
+ the pymalloc memory allocator every time a new pymalloc object
arena is created, and on shutdown.
- This variable is ignored if the $PPYYTTHHOONNMMAALLLLOOCC environment vari‐
- able is used to force the mmaalllloocc(3) allocator of the C library,
+ This variable is ignored if the $PPYYTTHHOONNMMAALLLLOOCC environment vari‐
+ able is used to force the mmaalllloocc(3) allocator of the C library,
or if Python is configured without pymalloc support.
PYTHONNOUSERSITE
- If this is set to a non-empty string it is equivalent to speci‐
- fying the --ss option (Don't add the user site directory to
+ If this is set to a non-empty string it is equivalent to speci‐
+ fying the --ss option (Don't add the user site directory to
sys.path).
PYTHONOPTIMIZE
- If this is set to a non-empty string it is equivalent to speci‐
- fying the --OO option. If set to an integer, it is equivalent to
+ If this is set to a non-empty string it is equivalent to speci‐
+ fying the --OO option. If set to an integer, it is equivalent to
specifying --OO multiple times.
PYTHONPATH
- Augments the default search path for module files. The format
- is the same as the shell's $PATH: one or more directory path‐
- names separated by colons. Non-existent directories are
- silently ignored. The default search path is installation de‐
+ Augments the default search path for module files. The format
+ is the same as the shell's $PATH: one or more directory path‐
+ names separated by colons. Non-existent directories are
+ silently ignored. The default search path is installation de‐
pendent, but generally begins with ${prefix}/lib/python<version>
- (see PYTHONHOME above). The default search path is always ap‐
- pended to $PYTHONPATH. If a script argument is given, the di‐
- rectory containing the script is inserted in the path in front
- of $PYTHONPATH. The search path can be manipulated from within
+ (see PYTHONHOME above). The default search path is always ap‐
+ pended to $PYTHONPATH. If a script argument is given, the di‐
+ rectory containing the script is inserted in the path in front
+ of $PYTHONPATH. The search path can be manipulated from within
a Python program as the variable _s_y_s_._p_a_t_h.
PYTHON_PERF_JIT_SUPPORT
- If this variable is set to a nonzero value, it enables support
- for the Linux perf profiler so Python calls can be detected by
+ If this variable is set to a nonzero value, it enables support
+ for the Linux perf profiler so Python calls can be detected by
it using DWARF information. Setting to 0 disables.
See also the --XX ppeerrff__jjiitt option.
PYTHONPERFSUPPORT
- If this variable is set to a nonzero value, it enables support
- for the Linux perf profiler so Python calls can be detected by
+ If this variable is set to a nonzero value, it enables support
+ for the Linux perf profiler so Python calls can be detected by
it. Setting to 0 disables.
See also the --XX ppeerrff option.
@@ -536,32 +502,32 @@
Override sys.platlibdir.
PYTHONPROFILEIMPORTTIME
- If this environment variable is set to 11, Python will show how
- long each import takes. If set to 22, Python will include output
+ If this environment variable is set to 11, Python will show how
+ long each import takes. If set to 22, Python will include output
for imported modules that have already been loaded. This is ex‐
actly equivalent to setting --XX iimmppoorrttttiimmee on the command line.
PYTHONPYCACHEPREFIX
- If this is set, Python will write ..ppyycc files in a mirror direc‐
- tory tree at this path, instead of in ____ppyyccaacchhee____ directories
+ If this is set, Python will write ..ppyycc files in a mirror direc‐
+ tory tree at this path, instead of in ____ppyyccaacchhee____ directories
within the source tree.
- This is equivalent to specifying the --XX ppyyccaacchhee__pprreeffiixx==_P_A_T_H op‐
+ This is equivalent to specifying the --XX ppyyccaacchhee__pprreeffiixx==_P_A_T_H op‐
tion.
PYTHONSAFEPATH
- If this is set to a non-empty string, don't automatically
- prepend a potentially unsafe path to ssyyss..ppaatthh such as the cur‐
- rent directory, the script's directory or an empty string. See
+ If this is set to a non-empty string, don't automatically
+ prepend a potentially unsafe path to ssyyss..ppaatthh such as the cur‐
+ rent directory, the script's directory or an empty string. See
also the --PP option.
PYTHONSTARTUP
- If this is the name of a readable file, the Python commands in
- that file are executed before the first prompt is displayed in
- interactive mode. The file is executed in the same name space
- where interactive commands are executed so that objects defined
- or imported in it can be used without qualification in the in‐
- teractive session. You can also change the prompts _s_y_s_._p_s_1 and
+ If this is the name of a readable file, the Python commands in
+ that file are executed before the first prompt is displayed in
+ interactive mode. The file is executed in the same name space
+ where interactive commands are executed so that objects defined
+ or imported in it can be used without qualification in the in‐
+ teractive session. You can also change the prompts _s_y_s_._p_s_1 and
_s_y_s_._p_s_2 in this file.
PYTHONTRACEMALLOC
@@ -569,54 +535,54 @@
tracing Python memory allocations using the tracemalloc module.
The value of the variable is the maximum number of frames stored
- in a traceback of a trace. For example, _P_Y_T_H_O_N_T_R_A_C_E_M_A_L_L_O_C_=_1
+ in a traceback of a trace. For example, _P_Y_T_H_O_N_T_R_A_C_E_M_A_L_L_O_C_=_1
stores only the most recent frame.
PYTHONUNBUFFERED
- If this is set to a non-empty string it is equivalent to speci‐
+ If this is set to a non-empty string it is equivalent to speci‐
fying the --uu option.
PYTHONUSERBASE
- Defines the user base directory, which is used to compute the
- path of the user _s_i_t_e_-_p_a_c_k_a_g_e_s directory and installation paths
+ Defines the user base directory, which is used to compute the
+ path of the user _s_i_t_e_-_p_a_c_k_a_g_e_s directory and installation paths
for _p_y_t_h_o_n _-_m _p_i_p _i_n_s_t_a_l_l _-_-_u_s_e_r.
PYTHONUTF8
- If set to 1, enable the Python "UTF-8 Mode". Setting to 0 dis‐
+ If set to 1, enable the Python "UTF-8 Mode". Setting to 0 dis‐
ables.
PYTHONVERBOSE
- If this is set to a non-empty string it is equivalent to speci‐
- fying the --vv option. If set to an integer, it is equivalent to
+ If this is set to a non-empty string it is equivalent to speci‐
+ fying the --vv option. If set to an integer, it is equivalent to
specifying --vv multiple times.
PYTHONWARNDEFAULTENCODING
If this environment variable is set to a non-empty string, issue
- a _E_n_c_o_d_i_n_g_W_a_r_n_i_n_g when the locale-specific default encoding is
+ a _E_n_c_o_d_i_n_g_W_a_r_n_i_n_g when the locale-specific default encoding is
used.
PYTHONWARNINGS
- If this is set to a comma-separated string it is equivalent to
+ If this is set to a comma-separated string it is equivalent to
specifying the --WW option for each separate value.
DDeebbuugg--mmooddee vvaarriiaabblleess
- Setting these variables only has an effect in a debug build of Python,
+ Setting these variables only has an effect in a debug build of Python,
that is, if Python was configured with the ----wwiitthh--ppyyddeebbuugg build option.
PYTHONDUMPREFS
- If this environment variable is set, Python will dump objects
- and reference counts still alive after shutting down the inter‐
+ If this environment variable is set, Python will dump objects
+ and reference counts still alive after shutting down the inter‐
preter.
PYTHONDUMPREFSFILE
- If set, Python will dump objects and reference counts still
- alive after shutting down the interpreter into a file under the
+ If set, Python will dump objects and reference counts still
+ alive after shutting down the interpreter into a file under the
path given as the value to this environment variable.
PYTHON_PRESITE
- If this variable is set to a module, that module will be im‐
- ported early in the interpreter lifecycle, before the _s_i_t_e mod‐
- ule is executed, and before the _____m_a_i_n____ module is created.
+ If this variable is set to a module, that module will be im‐
+ ported early in the interpreter lifecycle, before the _s_i_t_e mod‐
+ ule is executed, and before the _____m_a_i_n____ module is created.
This only works on debug builds.
This is equivalent to the --XX pprreessiittee==_m_o_d_u_l_e option.
@@ -633,9 +599,9 @@
Newsgroups: comp.lang.python, comp.lang.python.announce
LLIICCEENNSSIINNGG
- Python is distributed under an Open Source license. See the file "LI‐
- CENSE" in the Python source distribution for information on terms &
- conditions for accessing and otherwise using Python and for a DIS‐
+ Python is distributed under an Open Source license. See the file "LI‐
+ CENSE" in the Python source distribution for information on terms &
+ conditions for accessing and otherwise using Python and for a DIS‐
CLAIMER OF ALL WARRANTIES.
_P_Y_T_H_O_N(1)
_P_Y_T_H_O_N(1) General Commands Manual _P_Y_T_H_O_N(1)
NNAAMMEE
python - an interpreted, interactive, object-oriented programming lan‐
guage
SSYYNNOOPPSSIISS
ppyytthhoonn [ --BB ] [ --bb ] [ --dd ] [ --EE ] [ --hh ] [ --ii ] [ --II ]
[ --mm _m_o_d_u_l_e_-_n_a_m_e ] [ --qq ] [ --RR ] [ --OO ] [ --OOOO ] [ --PP ] [ --ss ] [
--SS ] [ --uu ]
[ --vv ] [ --VV ] [ --WW _a_r_g_u_m_e_n_t ] [ --xx ] [ --XX _o_p_t_i_o_n ] [ --?? ]
[ ----cchheecckk--hhaasshh--bbaasseedd--ppyyccss _d_e_f_a_u_l_t | _a_l_w_a_y_s | _n_e_v_e_r ]
[ ----hheellpp ] [ ----hheellpp--eennvv ] [ ----hheellpp--xxooppttiioonnss ] [ ----hheellpp--aallll ]
[ --cc _c_o_m_m_a_n_d | _s_c_r_i_p_t | - ] [ _a_r_g_u_m_e_n_t_s ]
DDEESSCCRRIIPPTTIIOONN
Python is an interpreted, interactive, object-oriented programming lan‐
guage that combines remarkable power with very clear syntax. For an
introduction to programming in Python, see the Python Tutorial. The
Python Library Reference documents built-in and standard types, con‐
stants, functions and modules. Finally, the Python Reference Manual
describes the syntax and semantics of the core language in (perhaps
too) much detail. (These documents may be located via the IINNTTEERRNNEETT RREE‐‐
SSOOUURRCCEESS below; they may be installed on your system as well.)
Python's basic power can be extended with your own modules written in C
or C++. On most systems such modules may be dynamically loaded.
Python is also adaptable as an extension language for existing applica‐
tions. See the internal documentation for hints.
Documentation for installed Python modules and packages can be viewed
by running the ppyyddoocc program.
CCOOMMMMAANNDD LLIINNEE OOPPTTIIOONNSS
--BB Don't write _._p_y_c files on import. See also PYTHONDONTWRITEBYTE‐
CODE.
--bb Issue warnings about str(bytes_instance), str(bytearray_in‐
stance) and comparing bytes/bytearray with str. (-bb: issue er‐
rors)
--cc _c_o_m_m_a_n_d
Specify the command to execute (see next section). This termi‐
nates the option list (following options are passed as arguments
to the command).
----cchheecckk--hhaasshh--bbaasseedd--ppyyccss _m_o_d_e
Configure how Python evaluates the up-to-dateness of hash-based
.pyc files.
--dd Turn on parser debugging output (for expert only, depending on
compilation options).
--EE Ignore environment variables like PYTHONPATH and PYTHONHOME that
modify the behavior of the interpreter.
[---hh ,, --?? ,,-]
{+--hh, --??,+} ----hheellpp
Prints the usage for the interpreter executable and exits.
----hheellpp--eennvv
Prints help about Python-specific environment variables and ex‐
its.
----hheellpp--xxooppttiioonnss
Prints help about implementation-specific --XX options and exits.
----hheellpp--aallll
Prints complete usage information and exits.
--ii When a script is passed as first argument or the --cc option is
used, enter interactive mode after executing the script or the
command. It does not read the $PYTHONSTARTUP file. This can be
useful to inspect global variables or a stack trace when a
script raises an exception.
--II Run Python in isolated mode. This also implies --EE, --PP and --ss. In
isolated mode sys.path contains neither the script's directory
nor the user's site-packages directory. All PYTHON* environment
variables are ignored, too. Further restrictions may be imposed
to prevent the user from injecting malicious code.
--mm _m_o_d_u_l_e_-_n_a_m_e
Searches _s_y_s_._p_a_t_h for the named module and runs the correspond‐
ing _._p_y file as a script. This terminates the option list (fol‐
lowing options are passed as arguments to the module).
--OO Remove assert statements and any code conditional on the value
of __debug__; augment the filename for compiled (bytecode) files
by adding .opt-1 before the .pyc extension.
--OOOO Do --OO and also discard docstrings; change the filename for com‐
piled (bytecode) files by adding .opt-2 before the .pyc exten‐
sion.
--PP Don't automatically prepend a potentially unsafe path to
ssyyss..ppaatthh such as the current directory, the script's directory
or an empty string. See also the PPYYTTHHOONNSSAAFFEEPPAATTHH environment
variable.
--qq Do not print the version and copyright messages. These messages
are also suppressed in non-interactive mode.
--RR Turn on hash randomization. This option only has an effect if
the PPYYTTHHOONNHHAASSHHSSEEEEDD environment variable is set to 00, since hash
randomization is enabled by default.
--ss Don't add user site directory to sys.path.
--SS Disable the import of the module _s_i_t_e and the site-dependent ma‐
nipulations of _s_y_s_._p_a_t_h that it entails. Also disable these ma‐
nipulations if _s_i_t_e is explicitly imported later.
--uu Force the stdout and stderr streams to be unbuffered. This op‐
tion has no effect on the stdin stream.
--vv Print a message each time a module is initialized, showing the
place (filename or built-in module) from which it is loaded.
When given twice, print a message for each file that is checked
for when searching for a module. Also provides information on
module cleanup at exit.
[---VV ,,-]
{+--VV,+} ----vveerrssiioonn
Prints the Python version number of the executable and exits.
When given twice, print more information about the build.
--WW _a_r_g_u_m_e_n_t
Warning control. Python's warning machinery by default prints
warning messages to _s_y_s_._s_t_d_e_r_r.
The simplest settings apply a particular action unconditionally
to all warnings emitted by a process (even those that are other‐
wise ignored by default):
-Wdefault # Warn once per call location
-Werror # Convert to exceptions
-Walways # Warn every time
-Wall # Same as -Walways
-Wmodule # Warn once per calling module
-Wonce # Warn once per Python process
-Wignore # Never warn
The action names can be abbreviated as desired and the inter‐
preter will resolve them to the appropriate action name. For ex‐
ample, --WWii is the same as [---WWiiggnnoorree ..-] {+--WWiiggnnoorree.+}
The full form of argument is: [-_a_c_t_i_o_n_:_m_e_s_s_a_g_e_:_c_a_t_e_g_o_r_y_:_m_o_d_‐
_u_l_e_:_l_i_n_e_n_o-] {+_a_c_t_i_o_n::_m_e_s_s_a_g_e::_c_a_t_e_g_o_r_y::_m_o_d_‐
_u_l_e::_l_i_n_e_n_o+}
Empty fields match all values; trailing empty fields may be
omitted. For example --WW iiggnnoorree::::DDeepprreeccaattiioonnWWaarrnniinngg ignores all
DeprecationWarning warnings.
The _a_c_t_i_o_n field is as explained above but only applies to warn‐
ings that match the remaining fields.
The _m_e_s_s_a_g_e field must match the whole printed warning message;
this match is case-insensitive.
The _c_a_t_e_g_o_r_y field matches the warning category (ex: "Depreca‐
tionWarning"). This must be a class name; the match test whether
the actual warning category of the message is a subclass of the
specified warning category.
The _m_o_d_u_l_e field matches the (fully-qualified) module name; this
match is case-sensitive.
The _l_i_n_e_n_o field matches the line number, where zero matches all
line numbers and is thus equivalent to an omitted line number.
Multiple --WW options can be given; when a warning matches more
than one option, the action for the last matching option is per‐
formed. Invalid --WW options are ignored (though, a warning mes‐
sage is printed about invalid options when the first warning is
issued).
Warnings can also be controlled using the PPYYTTHHOONNWWAARRNNIINNGGSS envi‐
ronment variable and from within a Python program using the
warnings module. For example, the warnings.filterwarnings()
function can be used to use a regular expression on the warning
message.
--XX _o_p_t_i_o_n
Set implementation-specific option. The following options are
available:
--XX ccppuu__ccoouunntt==_N: override the return value of _o_s_._c_p_u___c_o_u_n_t_(_);
--XX ccppuu__ccoouunntt==ddeeffaauulltt cancels overriding; also PPYYTTHHOONN__CCPPUU__CCOOUUNNTT
--XX ddeevv: enable CPython's "development mode", introducing [-ad‐
ditional-] {+additional+}
runtime checks which are too expensive to be enabled by default. It
will not be more verbose than the default if the code is correct: new
warnings are only emitted when an issue is detected. [-Ef‐
fect-] {+Effect+} of the
developer mode:
* Add default warning filter, as --WW ddeeffaauulltt
* Install debug hooks on memory allocators: see the
PyMem_SetupDebugHooks() C function
* Enable the faulthandler module to dump the Python traceback on a
crash
* Enable asyncio debug mode
* Set the dev_mode attribute of sys.flags to True
* io.IOBase destructor logs close() exceptions
--XX iimmppoorrttttiimmee: show how long each import takes. It shows module name,
cumulative time (including nested imports) and self time (excluding
nested imports). Note that its output may be broken in multi-threaded
application. Typical usage is
ppyytthhoonn33 --XX iimmppoorrttttiimmee --cc ''iimmppoorrtt aassyynncciioo''
--XX iimmppoorrttttiimmee==22 enables additional output that indicates when an
imported module has already been loaded. In such cases, the string
ccaacchheedd will be printed in both time columns.
--XX ffaauulltthhaannddlleerr: enable faulthandler
--XX ffrroozzeenn__mmoodduulleess==[oonn|ooffff]: whether or not frozen modules
should be used.
The default is "on" (or "off" if you are running a local build).
--XX ggiill==[00|11]: enable (1) or disable (0) the GIL; also
PPYYTTHHOONN__GGIILL
Only available in builds configured with ----ddiissaabbllee--ggiill.
--XX iinntt__mmaaxx__ssttrr__ddiiggiittss==_n_u_m_b_e_r: limit the size of int<->str conversions.
This helps avoid denial of service attacks when parsing untrusted data.
The default is sys.int_info.default_max_str_digits. 0 disables.
--XX nnoo__ddeebbuugg__rraannggeess: disable the inclusion of the tables [-map‐
ping-] {+mapping+} extra
location information (end line, start column offset and end column
offset) to every instruction in code objects. This is useful when
smaller code objects and pyc files are desired as well as suppressing
the extra visual location indicators when the interpreter displays
tracebacks.
--XX ppeerrff: support the Linux "perf" profiler; also [-PPYYTTHHOONNPPEERRFF‐‐
SSUUPPPPOORRTT==11-] {+PPYYTTHHOONNPPEERRFFSSUUPPPPOORRTT==11+}
--XX ppeerrff__jjiitt: support the Linux "perf" profiler with DWARF support;
also PPYYTTHHOONN__PPEERRFF__JJIITT__SSUUPPPPOORRTT==11
--XX pprreessiittee==_M_O_D: import this module before site; also PPYYTTHHOONN__PPRREESSIITTEE
This only works on debug builds.
--XX ppyyccaacchhee__pprreeffiixx==_P_A_T_H: enable writing .pyc files to a [-par‐
allel-] {+parallel+}
tree rooted at the given directory instead of to the code tree.
--XX sshhoowwrreeffccoouunntt: output the total reference count and number of used
memory blocks when the program finishes or after each statement in the
interactive interpreter. This only works on debug builds
--XX ttrraacceemmaalllloocc: start tracing Python memory allocations [-us‐
ing-] {+using+} the
tracemalloc module. By default, only the most recent frame is stored in a
traceback of a trace. Use -X tracemalloc=NFRAME to start tracing with a
traceback limit of NFRAME frames
--XX uuttff88: enable UTF-8 mode for operating system interfaces,
overriding the default locale-aware mode. --XX uuttff88==00 [-ex‐
plicitly-] {+explicitly+}
disables UTF-8 mode (even when it would otherwise [-acti‐
vate-] {+activate+}
automatically). See PPYYTTHHOONNUUTTFF88 for more details
--XX wwaarrnn__ddeeffaauulltt__eennccooddiinngg: enable opt-in EncodingWarning for 'encoding=None'
--xx Skip the first line of the source. This is intended for a DOS
specific hack only. Warning: the line numbers in error messages
will be off by one!
IINNTTEERRPPRREETTEERR IINNTTEERRFFAACCEE
The interpreter interface resembles that of the UNIX shell: when called
with standard input connected to a tty device, it prompts for commands
and executes them until an EOF is read; when called with a file name
argument or with a file as standard input, it reads and executes a
_s_c_r_i_p_t from that file; when called with --cc _c_o_m_m_a_n_d, it executes the
Python statement(s) given as _c_o_m_m_a_n_d. Here _c_o_m_m_a_n_d may contain multi‐
ple statements separated by newlines. Leading whitespace is signifi‐
cant in Python statements! In non-interactive mode, the entire input
is parsed before it is executed.
If available, the script name and additional arguments thereafter are
passed to the script in the Python variable _s_y_s_._a_r_g_v, which is a list
of strings (you must first _i_m_p_o_r_t _s_y_s to be able to access it). If no
script name is given, _s_y_s_._a_r_g_v_[_0_] is an empty string; if --cc is used,
_s_y_s_._a_r_g_v_[_0_] contains the string [-_'_-_c_'_.-] {+'_-_c' .+} Note that options interpreted
by the Python interpreter itself are not placed in _s_y_s_._a_r_g_v.
In interactive mode, the primary prompt is `>>>'; the second prompt
(which appears when a command is not complete) is `...'. The prompts
can be changed by assignment to _s_y_s_._p_s_1 or _s_y_s_._p_s_2. The interpreter
quits when it reads an EOF at a prompt. When an unhandled exception
occurs, a stack trace is printed and control returns to the primary
prompt; in non-interactive mode, the interpreter exits after printing
the stack trace. The interrupt signal raises the _K_e_y_b_o_a_r_d_I_n_t_e_r_r_u_p_t ex‐
ception; other UNIX signals are not caught (except that SIGPIPE is
sometimes ignored, in favor of the _I_O_E_r_r_o_r exception). Error messages
are written to stderr.
FFIILLEESS AANNDD DDIIRREECCTTOORRIIEESS
These are subject to difference depending on local installation conven‐
tions; ${prefix} and ${exec_prefix} are installation-dependent and
should be interpreted as for GNU software; they may be the same. The
default for both is _/_u_s_r_/_l_o_c_a_l.
_$_{_e_x_e_c___p_r_e_f_i_x_}_/_b_i_n_/_p_y_t_h_o_n
Recommended location of the interpreter.
_$_{_p_r_e_f_i_x_}_/_l_i_b_/_p_y_t_h_o_n_<_v_e_r_s_i_o_n_>
_$_{_e_x_e_c___p_r_e_f_i_x_}_/_l_i_b_/_p_y_t_h_o_n_<_v_e_r_s_i_o_n_>
Recommended locations of the directories containing the standard
modules.
_$_{_p_r_e_f_i_x_}_/_i_n_c_l_u_d_e_/_p_y_t_h_o_n_<_v_e_r_s_i_o_n_>
_$_{_e_x_e_c___p_r_e_f_i_x_}_/_i_n_c_l_u_d_e_/_p_y_t_h_o_n_<_v_e_r_s_i_o_n_>
Recommended locations of the directories containing the include
files needed for developing Python extensions and embedding the
interpreter.
EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
PYTHONASYNCIODEBUG
If this environment variable is set to a non-empty string, en‐
able the debug mode of the asyncio module.
PYTHON_BASIC_REPL
If this variable is set to any value, the interpreter will not
attempt to load the Python-based REPL that requires curses and
readline, and will instead use the traditional parser-based
REPL.
PYTHONBREAKPOINT
If this environment variable is set to 0, it disables the de‐
fault debugger. It can be set to the callable of your debugger
of choice.
PYTHONCOERCECLOCALE
If set to the value 0, causes the main Python command line ap‐
plication to skip coercing the legacy ASCII-based C and POSIX
locales to a more capable UTF-8 based alternative.
PYTHON_COLORS
If this variable is set to 1, the interpreter will colorize var‐
ious kinds of output. Setting it to 0 deactivates this behavior.
PYTHON_CPU_COUNT
If this variable is set to a positive integer, it overrides the
return values of _o_s_._c_p_u___c_o_u_n_t and _o_s_._p_r_o_c_e_s_s___c_p_u___c_o_u_n_t.
See also the --XX ccppuu__ccoouunntt option.
PYTHONDEBUG
If this is set to a non-empty string it is equivalent to speci‐
fying the --dd option. If set to an integer, it is equivalent to
specifying --dd multiple times.
PYTHONEXECUTABLE
If this environment variable is set, _s_y_s_._a_r_g_v_[_0_] will be set to
its value instead of the value got through the C runtime. Only
works on Mac OS X.
PYTHONFAULTHANDLER
If this environment variable is set to a non-empty string,
_f_a_u_l_t_h_a_n_d_l_e_r_._e_n_a_b_l_e_(_) is called at startup: install a handler
for SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals to dump
the Python traceback.
This is equivalent to the --XX ffaauulltthhaannddlleerr option.
PYTHON_FROZEN_MODULES
If this variable is set to oonn or ooffff, it determines whether or
not frozen modules are ignored by the import machinery. A value
of oonn means they get imported and ooffff means they are ignored.
The default is oonn for non-debug builds (the normal case) and ooffff
for debug builds.
See also the --XX ffrroozzeenn__mmoodduulleess option.
PYTHON_GIL
If this variable is set to 1, the global interpreter lock (GIL)
will be forced on. Setting it to 0 forces the GIL off. Only
available in builds configured with ----ddiissaabbllee--ggiill.
This is equivalent to the --XX ggiill option.
PYTHON_HISTORY
This environment variable can be used to set the location of a
history file (on Unix, it is _~_/_._p_y_t_h_o_n___h_i_s_t_o_r_y by default).
PYTHONNODEBUGRANGES
If this variable is set, it disables the inclusion of the tables
mapping extra location information (end line, start column off‐
set and end column offset) to every instruction in code objects.
This is useful when smaller code objects and pyc files are de‐
sired as well as suppressing the extra visual location indica‐
tors when the interpreter displays tracebacks.
PYTHONDONTWRITEBYTECODE
If this is set to a non-empty string it is equivalent to speci‐
fying the --BB option (don't try to write _._p_y_c files).
PYTHONDEVMODE
If this environment variable is set to a non-empty string, en‐
able Python's "development mode", introducing additional runtime
checks that are too expensive to be enabled by default.
This is equivalent to the --XX ddeevv option.
PYTHONHASHSEED
If this variable is set to "random", a random value is used to
seed the hashes of str and bytes objects.
If PYTHONHASHSEED is set to an integer value, it is used as a
fixed seed for generating the hash() of the types covered by the
hash randomization. Its purpose is to allow repeatable hashing,
such as for selftests for the interpreter itself, or to allow a
cluster of python processes to share hash values.
The integer must be a decimal number in the range
[0,4294967295]. Specifying the value 0 will disable hash ran‐
domization.
PYTHONHOME
Change the location of the standard Python libraries. By de‐
fault, the libraries are searched in ${prefix}/lib/python<ver‐
sion> and ${exec_prefix}/lib/python<version>, where ${prefix}
and ${exec_prefix} are installation-dependent directories, both
defaulting to _/_u_s_r_/_l_o_c_a_l. When $PYTHONHOME is set to a single
directory, its value replaces both ${prefix} and ${exec_prefix}.
To specify different values for these, set $PYTHONHOME to ${pre‐
fix}:${exec_prefix}.
PYTHONINSPECT
If this is set to a non-empty string it is equivalent to speci‐
fying the --ii option.
PYTHONINTMAXSTRDIGITS
Limit the maximum digit characters in an int value when convert‐
ing from a string and when converting an int back to a str. A
value of 0 disables the limit. Conversions to or from bases 2,
4, 8, 16, and 32 are never limited.
This is equivalent to the --XX iinntt__mmaaxx__ssttrr__ddiiggiittss==_N_U_M_B_E_R option.
PYTHONIOENCODING
If this is set before running the interpreter, it overrides the
encoding used for stdin/stdout/stderr, in the syntax _e_n_c_o_d_i_n_g_‐
_n_a_m_e::_e_r_r_o_r_h_a_n_d_l_e_r The _e_r_r_o_r_h_a_n_d_l_e_r part is optional and has the
same meaning as in str.encode. For stderr, the _e_r_r_o_r_h_a_n_d_l_e_r part
is ignored; the handler will always be ´backslashreplace´.
PYTHONMALLOC
Set the Python memory allocators and/or install debug hooks. The
available memory allocators are _m_a_l_l_o_c and _p_y_m_a_l_l_o_c. The avail‐
able debug hooks are _d_e_b_u_g, _m_a_l_l_o_c___d_e_b_u_g, and _p_y_m_a_l_l_o_c___d_e_b_u_g.
When Python is compiled in debug mode, the default is _p_y_m_a_l_‐
_l_o_c___d_e_b_u_g and the debug hooks are automatically used. Otherwise,
the default is _p_y_m_a_l_l_o_c.
PYTHONMALLOCSTATS
If set to a non-empty string, Python will print statistics of
the pymalloc memory allocator every time a new pymalloc object
arena is created, and on shutdown.
This variable is ignored if the $PPYYTTHHOONNMMAALLLLOOCC environment vari‐
able is used to force the mmaalllloocc(3) allocator of the C library,
or if Python is configured without pymalloc support.
PYTHONNOUSERSITE
If this is set to a non-empty string it is equivalent to speci‐
fying the --ss option (Don't add the user site directory to
sys.path).
PYTHONOPTIMIZE
If this is set to a non-empty string it is equivalent to speci‐
fying the --OO option. If set to an integer, it is equivalent to
specifying --OO multiple times.
PYTHONPATH
Augments the default search path for module files. The format
is the same as the shell's $PATH: one or more directory path‐
names separated by colons. Non-existent directories are
silently ignored. The default search path is installation de‐
pendent, but generally begins with ${prefix}/lib/python<version>
(see PYTHONHOME above). The default search path is always ap‐
pended to $PYTHONPATH. If a script argument is given, the di‐
rectory containing the script is inserted in the path in front
of $PYTHONPATH. The search path can be manipulated from within
a Python program as the variable _s_y_s_._p_a_t_h.
PYTHON_PERF_JIT_SUPPORT
If this variable is set to a nonzero value, it enables support
for the Linux perf profiler so Python calls can be detected by
it using DWARF information. Setting to 0 disables.
See also the --XX ppeerrff__jjiitt option.
PYTHONPERFSUPPORT
If this variable is set to a nonzero value, it enables support
for the Linux perf profiler so Python calls can be detected by
it. Setting to 0 disables.
See also the --XX ppeerrff option.
PYTHONPLATLIBDIR
Override sys.platlibdir.
PYTHONPROFILEIMPORTTIME
If this environment variable is set to 11, Python will show how
long each import takes. If set to 22, Python will include output
for imported modules that have already been loaded. This is ex‐
actly equivalent to setting --XX iimmppoorrttttiimmee on the command line.
PYTHONPYCACHEPREFIX
If this is set, Python will write ..ppyycc files in a mirror direc‐
tory tree at this path, instead of in ____ppyyccaacchhee____ directories
within the source tree.
This is equivalent to specifying the --XX ppyyccaacchhee__pprreeffiixx==_P_A_T_H op‐
tion.
PYTHONSAFEPATH
If this is set to a non-empty string, don't automatically
prepend a potentially unsafe path to ssyyss..ppaatthh such as the cur‐
rent directory, the script's directory or an empty string. See
also the --PP option.
PYTHONSTARTUP
If this is the name of a readable file, the Python commands in
that file are executed before the first prompt is displayed in
interactive mode. The file is executed in the same name space
where interactive commands are executed so that objects defined
or imported in it can be used without qualification in the in‐
teractive session. You can also change the prompts _s_y_s_._p_s_1 and
_s_y_s_._p_s_2 in this file.
PYTHONTRACEMALLOC
If this environment variable is set to a non-empty string, start
tracing Python memory allocations using the tracemalloc module.
The value of the variable is the maximum number of frames stored
in a traceback of a trace. For example, _P_Y_T_H_O_N_T_R_A_C_E_M_A_L_L_O_C_=_1
stores only the most recent frame.
PYTHONUNBUFFERED
If this is set to a non-empty string it is equivalent to speci‐
fying the --uu option.
PYTHONUSERBASE
Defines the user base directory, which is used to compute the
path of the user _s_i_t_e_-_p_a_c_k_a_g_e_s directory and installation paths
for _p_y_t_h_o_n _-_m _p_i_p _i_n_s_t_a_l_l _-_-_u_s_e_r.
PYTHONUTF8
If set to 1, enable the Python "UTF-8 Mode". Setting to 0 dis‐
ables.
PYTHONVERBOSE
If this is set to a non-empty string it is equivalent to speci‐
fying the --vv option. If set to an integer, it is equivalent to
specifying --vv multiple times.
PYTHONWARNDEFAULTENCODING
If this environment variable is set to a non-empty string, issue
a _E_n_c_o_d_i_n_g_W_a_r_n_i_n_g when the locale-specific default encoding is
used.
PYTHONWARNINGS
If this is set to a comma-separated string it is equivalent to
specifying the --WW option for each separate value.
DDeebbuugg--mmooddee vvaarriiaabblleess
Setting these variables only has an effect in a debug build of Python,
that is, if Python was configured with the ----wwiitthh--ppyyddeebbuugg build option.
PYTHONDUMPREFS
If this environment variable is set, Python will dump objects
and reference counts still alive after shutting down the inter‐
preter.
PYTHONDUMPREFSFILE
If set, Python will dump objects and reference counts still
alive after shutting down the interpreter into a file under the
path given as the value to this environment variable.
PYTHON_PRESITE
If this variable is set to a module, that module will be im‐
ported early in the interpreter lifecycle, before the _s_i_t_e mod‐
ule is executed, and before the _____m_a_i_n____ module is created.
This only works on debug builds.
This is equivalent to the --XX pprreessiittee==_m_o_d_u_l_e option.
AAUUTTHHOORR
The Python Software Foundation: https://www.python.org/psf/
IINNTTEERRNNEETT RREESSOOUURRCCEESS
Main website: https://www.python.org/
Documentation: https://docs.python.org/
Developer resources: https://devguide.python.org/
Downloads: https://www.python.org/downloads/
Module repository: https://pypi.org/
Newsgroups: comp.lang.python, comp.lang.python.announce
LLIICCEENNSSIINNGG
Python is distributed under an Open Source license. See the file "LI‐
CENSE" in the Python source distribution for information on terms &
conditions for accessing and otherwise using Python and for a DIS‐
CLAIMER OF ALL WARRANTIES.
_P_Y_T_H_O_N(1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment