blob: 3ea1801c644caa2e940a0f9d5ade3646efd83357 [file] [log] [blame]
Benjamin Petersonb9869df2016-03-21 22:31:02 -07001.TH PYTHON "1"
Andrew M. Kuchling3afe4f32004-10-07 12:30:54 +00002
Benjamin Peterson5f28b7b2009-03-26 21:49:58 +00003.\" To view this file while editing, run it through groff:
4.\" groff -Tascii -man python.man | less
Andrew M. Kuchling3afe4f32004-10-07 12:30:54 +00005
Guido van Rossuma7925f11994-01-26 10:20:16 +00006.SH NAME
7python \- an interpreted, interactive, object-oriented programming language
8.SH SYNOPSIS
9.B python
10[
Matthias Klosec8b16f82010-01-31 16:14:37 +000011.B \-B
12]
13[
Senthil Kumarance3dd0b2013-06-19 22:19:46 -050014.B \-b
15]
16[
Guido van Rossuma7925f11994-01-26 10:20:16 +000017.B \-d
18]
19[
Guido van Rossumb674baf2001-09-05 18:55:34 +000020.B \-E
21]
22[
23.B \-h
24]
25[
Guido van Rossuma7925f11994-01-26 10:20:16 +000026.B \-i
27]
28[
Christian Heimesad73a9c2013-08-10 16:36:18 +020029.B \-I
Andrew M. Kuchling166e6252004-10-07 12:04:50 +000030]
Guido van Rossumb674baf2001-09-05 18:55:34 +000031.br
32 [
Christian Heimesad73a9c2013-08-10 16:36:18 +020033.B \-m
34.I module-name
35]
36[
Senthil Kumarance3dd0b2013-06-19 22:19:46 -050037.B \-q
38]
39[
Matthias Klosec8b16f82010-01-31 16:14:37 +000040.B \-O
41]
42[
R David Murray9c4f09d2011-05-01 11:13:56 -040043.B \-OO
Matthias Klosec8b16f82010-01-31 16:14:37 +000044]
45[
Matthias Klosec8b16f82010-01-31 16:14:37 +000046.B \-s
47]
48[
Guido van Rossumb674baf2001-09-05 18:55:34 +000049.B \-S
Neil Schemenauer7d4bb9f2001-07-23 16:30:27 +000050]
51[
Guido van Rossumef5bca31994-05-03 14:15:32 +000052.B \-u
Guido van Rossuma7925f11994-01-26 10:20:16 +000053]
Guido van Rossumb674baf2001-09-05 18:55:34 +000054.br
55 [
Guido van Rossuma7925f11994-01-26 10:20:16 +000056.B \-v
57]
Guido van Rossum07c44c71998-04-10 19:46:00 +000058[
Barry Warsaw64569372000-09-15 18:39:09 +000059.B \-V
60]
Guido van Rossum1378c322000-12-19 03:21:54 +000061[
62.B \-W
63.I argument
64]
Guido van Rossumb674baf2001-09-05 18:55:34 +000065[
66.B \-x
67]
Matthias Klosec8b16f82010-01-31 16:14:37 +000068[
Senthil Kumarance3dd0b2013-06-19 22:19:46 -050069[
70.B \-X
71.I option
72]
Matthias Klosec8b16f82010-01-31 16:14:37 +000073.B \-?
74]
Guido van Rossum4cf4de51997-09-08 04:06:15 +000075.br
76 [
Benjamin Peterson42aa93b2017-12-09 10:26:52 -080077.B \--check-hash-based-pycs
Miro Hrončok16323cb2019-02-25 01:50:29 +010078.I default
79|
80.I always
81|
82.I never
Benjamin Peterson42aa93b2017-12-09 10:26:52 -080083]
84.br
85 [
Guido van Rossuma7925f11994-01-26 10:20:16 +000086.B \-c
87.I command
88|
89.I script
90|
91\-
92]
93[
94.I arguments
95]
96.SH DESCRIPTION
97Python is an interpreted, interactive, object-oriented programming
98language that combines remarkable power with very clear syntax.
Benjamin Petersonb0335ee2015-04-29 18:00:44 -040099For an introduction to programming in Python, see the Python Tutorial.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000100The Python Library Reference documents built-in and standard types,
101constants, functions and modules.
102Finally, the Python Reference Manual describes the syntax and
103semantics of the core language in (perhaps too) much detail.
Guido van Rossumf4a090d2000-09-01 20:36:34 +0000104(These documents may be located via the
105.B "INTERNET RESOURCES"
Fred Drake4c9be9d1999-08-20 13:10:20 +0000106below; they may be installed on your system as well.)
Guido van Rossuma7925f11994-01-26 10:20:16 +0000107.PP
108Python's basic power can be extended with your own modules written in
109C or C++.
Guido van Rossum74faed21996-07-30 19:27:05 +0000110On most systems such modules may be dynamically loaded.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000111Python is also adaptable as an extension language for existing
112applications.
113See the internal documentation for hints.
Andrew M. Kuchling88717f42001-04-05 14:50:40 +0000114.PP
Brett Cannonf299abd2015-04-13 14:21:02 -0400115Documentation for installed Python modules and packages can be
116viewed by running the
Andrew M. Kuchling88717f42001-04-05 14:50:40 +0000117.B pydoc
Brett Cannonf299abd2015-04-13 14:21:02 -0400118program.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000119.SH COMMAND LINE OPTIONS
120.TP
Matthias Klosec8b16f82010-01-31 16:14:37 +0000121.B \-B
122Don't write
Brett Cannon10a7dbd2016-10-21 12:15:14 -0700123.I .pyc
Matthias Klosec8b16f82010-01-31 16:14:37 +0000124files on import. See also PYTHONDONTWRITEBYTECODE.
125.TP
Senthil Kumarance3dd0b2013-06-19 22:19:46 -0500126.B \-b
127Issue warnings about str(bytes_instance), str(bytearray_instance)
128and comparing bytes/bytearray with str. (-bb: issue errors)
129.TP
Guido van Rossumb674baf2001-09-05 18:55:34 +0000130.BI "\-c " command
131Specify the command to execute (see next section).
132This terminates the option list (following options are passed as
133arguments to the command).
134.TP
Benjamin Peterson42aa93b2017-12-09 10:26:52 -0800135.BI "\-\-check-hash-based-pycs " mode
136Configure how Python evaluates the up-to-dateness of hash-based .pyc files.
137.TP
Guido van Rossuma7925f11994-01-26 10:20:16 +0000138.B \-d
Victor Stinner84c4b192017-11-24 22:30:27 +0100139Turn on parser debugging output (for expert only, depending on
Guido van Rossuma7925f11994-01-26 10:20:16 +0000140compilation options).
Guido van Rossum9f65ae01994-02-23 09:10:27 +0000141.TP
Guido van Rossumb674baf2001-09-05 18:55:34 +0000142.B \-E
143Ignore environment variables like PYTHONPATH and PYTHONHOME that modify
144the behavior of the interpreter.
145.TP
Matthias Klosec8b16f82010-01-31 16:14:37 +0000146.B \-h ", " \-? ", "\-\-help
Guido van Rossumb674baf2001-09-05 18:55:34 +0000147Prints the usage for the interpreter executable and exits.
148.TP
Guido van Rossuma7925f11994-01-26 10:20:16 +0000149.B \-i
150When a script is passed as first argument or the \fB\-c\fP option is
151used, enter interactive mode after executing the script or the
Guido van Rossum9f65ae01994-02-23 09:10:27 +0000152command. It does not read the $PYTHONSTARTUP file. This can be
153useful to inspect global variables or a stack trace when a script
154raises an exception.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000155.TP
Christian Heimesad73a9c2013-08-10 16:36:18 +0200156.B \-I
Ned Deily64298ae2015-04-29 14:51:43 -0700157Run Python in isolated mode. This also implies \fB\-E\fP and \fB\-s\fP. In
Serhiy Storchaka225821c2015-12-18 13:05:04 +0200158isolated mode sys.path contains neither the script's directory nor the user's
Christian Heimesad73a9c2013-08-10 16:36:18 +0200159site-packages directory. All PYTHON* environment variables are ignored, too.
160Further restrictions may be imposed to prevent the user from injecting
161malicious code.
162.TP
Andrew M. Kuchling166e6252004-10-07 12:04:50 +0000163.BI "\-m " module-name
Brett Cannonf299abd2015-04-13 14:21:02 -0400164Searches
165.I sys.path
166for the named module and runs the corresponding
167.I .py
Julien Palard202b5462021-03-31 14:31:38 +0200168file as a script. This terminates the option list (following options
169are passed as arguments to the module).
Andrew M. Kuchling166e6252004-10-07 12:04:50 +0000170.TP
Guido van Rossum4cf4de51997-09-08 04:06:15 +0000171.B \-O
Cheryl Sabella186b6062018-02-24 22:04:40 -0500172Remove assert statements and any code conditional on the value of
173__debug__; augment the filename for compiled (bytecode) files by
174adding .opt-1 before the .pyc extension.
Guido van Rossum4cf4de51997-09-08 04:06:15 +0000175.TP
R David Murray9c4f09d2011-05-01 11:13:56 -0400176.B \-OO
Cheryl Sabella186b6062018-02-24 22:04:40 -0500177Do \fB-O\fP and also discard docstrings; change the filename for
178compiled (bytecode) files by adding .opt-2 before the .pyc extension.
Matthias Klosec8b16f82010-01-31 16:14:37 +0000179.TP
Georg Brandl9d871192010-12-04 10:47:18 +0000180.B \-q
Brett Cannonf299abd2015-04-13 14:21:02 -0400181Do not print the version and copyright messages. These messages are
Georg Brandl9d871192010-12-04 10:47:18 +0000182also suppressed in non-interactive mode.
183.TP
Matthias Klosec8b16f82010-01-31 16:14:37 +0000184.B \-s
185Don't add user site directory to sys.path.
186.TP
Guido van Rossum4cf4de51997-09-08 04:06:15 +0000187.B \-S
188Disable the import of the module
189.I site
190and the site-dependent manipulations of
191.I sys.path
Éric Araujoc09fca62011-03-23 02:06:24 +0100192that it entails. Also disable these manipulations if
193.I site
194is explicitly imported later.
Guido van Rossum4cf4de51997-09-08 04:06:15 +0000195.TP
Guido van Rossumef5bca31994-05-03 14:15:32 +0000196.B \-u
Berker Peksag7f580972017-10-13 15:16:31 +0300197Force the stdout and stderr streams to be unbuffered.
198This option has no effect on the stdin stream.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000199.TP
200.B \-v
201Print a message each time a module is initialized, showing the place
Fred Drake4c9be9d1999-08-20 13:10:20 +0000202(filename or built-in module) from which it is loaded. When given
Brett Cannonf299abd2015-04-13 14:21:02 -0400203twice, print a message for each file that is checked for when
Fred Drake4c9be9d1999-08-20 13:10:20 +0000204searching for a module. Also provides information on module cleanup
205at exit.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000206.TP
Matthias Klosec8b16f82010-01-31 16:14:37 +0000207.B \-V ", " \-\-version
INADA Naoki0e175a62016-11-21 20:57:14 +0900208Prints the Python version number of the executable and exits. When given
209twice, print more information about the build.
Barry Warsaw64569372000-09-15 18:39:09 +0000210.TP
Guido van Rossum1378c322000-12-19 03:21:54 +0000211.BI "\-W " argument
212Warning control. Python sometimes prints warning message to
213.IR sys.stderr .
214A typical warning message has the following form:
215.IB file ":" line ": " category ": " message.
216By default, each warning is printed once for each source line where it
217occurs. This option controls how often warnings are printed.
218Multiple
219.B \-W
220options may be given; when a warning matches more than one
221option, the action for the last matching option is performed.
222Invalid
223.B \-W
224options are ignored (a warning message is printed about invalid
225options when the first warning is issued). Warnings can also be
226controlled from within a Python program using the
227.I warnings
228module.
229
230The simplest form of
231.I argument
232is one of the following
233.I action
234strings (or a unique abbreviation):
235.B ignore
236to ignore all warnings;
237.B default
238to explicitly request the default behavior (printing each warning once
239per source line);
240.B all
241to print a warning each time it occurs (this may generate many
242messages if a warning is triggered repeatedly for the same source
Fred Drakebd2e3b02001-07-26 21:25:58 +0000243line, such as inside a loop);
Guido van Rossum1378c322000-12-19 03:21:54 +0000244.B module
Georg Brandleeb575f2009-06-24 06:42:05 +0000245to print each warning only the first time it occurs in each
Guido van Rossum1378c322000-12-19 03:21:54 +0000246module;
247.B once
248to print each warning only the first time it occurs in the program; or
249.B error
250to raise an exception instead of printing a warning message.
251
252The full form of
253.I argument
254is
255.IB action : message : category : module : line.
256Here,
257.I action
258is as explained above but only applies to messages that match the
259remaining fields. Empty fields match all values; trailing empty
260fields may be omitted. The
261.I message
262field matches the start of the warning message printed; this match is
263case-insensitive. The
264.I category
265field matches the warning category. This must be a class name; the
266match test whether the actual warning category of the message is a
267subclass of the specified warning category. The full class name must
268be given. The
269.I module
270field matches the (fully-qualified) module name; this match is
271case-sensitive. The
272.I line
273field matches the line number, where zero matches all line numbers and
274is thus equivalent to an omitted line number.
275.TP
Senthil Kumarance3dd0b2013-06-19 22:19:46 -0500276.BI "\-X " option
Pablo Galindo41f0ef62020-01-23 01:03:04 +0000277Set implementation specific option. The following options are available:
278
279 -X faulthandler: enable faulthandler
280
281 -X showrefcount: output the total reference count and number of used
282 memory blocks when the program finishes or after each statement in the
283 interactive interpreter. This only works on debug builds
284
285 -X tracemalloc: start tracing Python memory allocations using the
286 tracemalloc module. By default, only the most recent frame is stored in a
287 traceback of a trace. Use -X tracemalloc=NFRAME to start tracing with a
288 traceback limit of NFRAME frames
289
Pablo Galindo41f0ef62020-01-23 01:03:04 +0000290 -X importtime: show how long each import takes. It shows module name,
291 cumulative time (including nested imports) and self time (excluding
292 nested imports). Note that its output may be broken in multi-threaded
293 application. Typical usage is python3 -X importtime -c 'import asyncio'
294
Serhiy Storchaka58de1dd2020-09-09 03:28:02 +0300295 -X dev: enable CPython's "development mode", introducing additional runtime
Pablo Galindo41f0ef62020-01-23 01:03:04 +0000296 checks which are too expensive to be enabled by default. It will not be
297 more verbose than the default if the code is correct: new warnings are
298 only emitted when an issue is detected. Effect of the developer mode:
299 * Add default warning filter, as -W default
300 * Install debug hooks on memory allocators: see the PyMem_SetupDebugHooks() C function
301 * Enable the faulthandler module to dump the Python traceback on a crash
302 * Enable asyncio debug mode
303 * Set the dev_mode attribute of sys.flags to True
304 * io.IOBase destructor logs close() exceptions
305
306 -X utf8: enable UTF-8 mode for operating system interfaces, overriding the default
307 locale-aware mode. -X utf8=0 explicitly disables UTF-8 mode (even when it would
308 otherwise activate automatically). See PYTHONUTF8 for more details
309
310 -X pycache_prefix=PATH: enable writing .pyc files to a parallel tree rooted at the
311 given directory instead of to the code tree.
Senthil Kumarance3dd0b2013-06-19 22:19:46 -0500312.TP
Guido van Rossumb674baf2001-09-05 18:55:34 +0000313.B \-x
314Skip the first line of the source. This is intended for a DOS
315specific hack only. Warning: the line numbers in error messages will
316be off by one!
Guido van Rossuma7925f11994-01-26 10:20:16 +0000317.SH INTERPRETER INTERFACE
318The interpreter interface resembles that of the UNIX shell: when
319called with standard input connected to a tty device, it prompts for
320commands and executes them until an EOF is read; when called with a
321file name argument or with a file as standard input, it reads and
322executes a
323.I script
324from that file;
325when called with
326.B \-c
doko@ubuntu.comd8623e82012-06-20 13:16:31 +0200327.IR command ,
Guido van Rossuma7925f11994-01-26 10:20:16 +0000328it executes the Python statement(s) given as
doko@ubuntu.comd8623e82012-06-20 13:16:31 +0200329.IR command .
Guido van Rossuma7925f11994-01-26 10:20:16 +0000330Here
331.I command
332may contain multiple statements separated by newlines.
333Leading whitespace is significant in Python statements!
Matthias Klose31a58df2005-03-20 14:16:03 +0000334In non-interactive mode, the entire input is parsed before it is
Guido van Rossuma7925f11994-01-26 10:20:16 +0000335executed.
336.PP
337If available, the script name and additional arguments thereafter are
338passed to the script in the Python variable
doko@ubuntu.comd8623e82012-06-20 13:16:31 +0200339.IR sys.argv ,
Guido van Rossuma7925f11994-01-26 10:20:16 +0000340which is a list of strings (you must first
341.I import sys
342to be able to access it).
343If no script name is given,
Guido van Rossumf4a090d2000-09-01 20:36:34 +0000344.I sys.argv[0]
345is an empty string; if
Guido van Rossuma7925f11994-01-26 10:20:16 +0000346.B \-c
347is used,
348.I sys.argv[0]
349contains the string
350.I '-c'.
Guido van Rossum74faed21996-07-30 19:27:05 +0000351Note that options interpreted by the Python interpreter itself
Guido van Rossuma7925f11994-01-26 10:20:16 +0000352are not placed in
doko@ubuntu.comd8623e82012-06-20 13:16:31 +0200353.IR sys.argv .
Guido van Rossuma7925f11994-01-26 10:20:16 +0000354.PP
355In interactive mode, the primary prompt is `>>>'; the second prompt
356(which appears when a command is not complete) is `...'.
357The prompts can be changed by assignment to
358.I sys.ps1
359or
doko@ubuntu.comd8623e82012-06-20 13:16:31 +0200360.IR sys.ps2 .
Guido van Rossuma7925f11994-01-26 10:20:16 +0000361The interpreter quits when it reads an EOF at a prompt.
362When an unhandled exception occurs, a stack trace is printed and
363control returns to the primary prompt; in non-interactive mode, the
364interpreter exits after printing the stack trace.
365The interrupt signal raises the
366.I Keyboard\%Interrupt
367exception; other UNIX signals are not caught (except that SIGPIPE is
368sometimes ignored, in favor of the
369.I IOError
370exception). Error messages are written to stderr.
371.SH FILES AND DIRECTORIES
372These are subject to difference depending on local installation
Fred Drake4c9be9d1999-08-20 13:10:20 +0000373conventions; ${prefix} and ${exec_prefix} are installation-dependent
374and should be interpreted as for GNU software; they may be the same.
375The default for both is \fI/usr/local\fP.
376.IP \fI${exec_prefix}/bin/python\fP
Guido van Rossuma7925f11994-01-26 10:20:16 +0000377Recommended location of the interpreter.
Fred Drake4c9be9d1999-08-20 13:10:20 +0000378.PP
379.I ${prefix}/lib/python<version>
380.br
381.I ${exec_prefix}/lib/python<version>
382.RS
383Recommended locations of the directories containing the standard
384modules.
385.RE
386.PP
387.I ${prefix}/include/python<version>
388.br
389.I ${exec_prefix}/include/python<version>
390.RS
391Recommended locations of the directories containing the include files
392needed for developing Python extensions and embedding the
393interpreter.
394.RE
Guido van Rossuma7925f11994-01-26 10:20:16 +0000395.SH ENVIRONMENT VARIABLES
Guido van Rossum4cf4de51997-09-08 04:06:15 +0000396.IP PYTHONHOME
397Change the location of the standard Python libraries. By default, the
Fred Drake4c9be9d1999-08-20 13:10:20 +0000398libraries are searched in ${prefix}/lib/python<version> and
399${exec_prefix}/lib/python<version>, where ${prefix} and ${exec_prefix}
Guido van Rossum4cf4de51997-09-08 04:06:15 +0000400are installation-dependent directories, both defaulting to
Fred Drake4c9be9d1999-08-20 13:10:20 +0000401\fI/usr/local\fP. When $PYTHONHOME is set to a single directory, its value
402replaces both ${prefix} and ${exec_prefix}. To specify different values
403for these, set $PYTHONHOME to ${prefix}:${exec_prefix}.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000404.IP PYTHONPATH
405Augments the default search path for module files.
406The format is the same as the shell's $PATH: one or more directory
407pathnames separated by colons.
Matthias Klose31a58df2005-03-20 14:16:03 +0000408Non-existent directories are silently ignored.
Guido van Rossum4cf4de51997-09-08 04:06:15 +0000409The default search path is installation dependent, but generally
Fred Drake4c9be9d1999-08-20 13:10:20 +0000410begins with ${prefix}/lib/python<version> (see PYTHONHOME above).
Guido van Rossum4cf4de51997-09-08 04:06:15 +0000411The default search path is always appended to $PYTHONPATH.
Guido van Rossum74faed21996-07-30 19:27:05 +0000412If a script argument is given, the directory containing the script is
413inserted in the path in front of $PYTHONPATH.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000414The search path can be manipulated from within a Python program as the
415variable
doko@ubuntu.comd8623e82012-06-20 13:16:31 +0200416.IR sys.path .
Sandro Mani8f023a22020-06-08 17:28:11 +0200417.IP PYTHONPLATLIBDIR
418Override sys.platlibdir.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000419.IP PYTHONSTARTUP
420If this is the name of a readable file, the Python commands in that
421file are executed before the first prompt is displayed in interactive
422mode.
423The file is executed in the same name space where interactive commands
424are executed so that objects defined or imported in it can be used
425without qualification in the interactive session.
426You can also change the prompts
427.I sys.ps1
428and
429.I sys.ps2
430in this file.
Guido van Rossum9abaf4d2001-10-12 22:17:56 +0000431.IP PYTHONOPTIMIZE
432If this is set to a non-empty string it is equivalent to specifying
433the \fB\-O\fP option. If set to an integer, it is equivalent to
434specifying \fB\-O\fP multiple times.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000435.IP PYTHONDEBUG
436If this is set to a non-empty string it is equivalent to specifying
Guido van Rossum9abaf4d2001-10-12 22:17:56 +0000437the \fB\-d\fP option. If set to an integer, it is equivalent to
438specifying \fB\-d\fP multiple times.
Matthias Klosec8b16f82010-01-31 16:14:37 +0000439.IP PYTHONDONTWRITEBYTECODE
440If this is set to a non-empty string it is equivalent to specifying
441the \fB\-B\fP option (don't try to write
Brett Cannon10a7dbd2016-10-21 12:15:14 -0700442.I .pyc
Matthias Klosec8b16f82010-01-31 16:14:37 +0000443files).
Guido van Rossuma7925f11994-01-26 10:20:16 +0000444.IP PYTHONINSPECT
445If this is set to a non-empty string it is equivalent to specifying
446the \fB\-i\fP option.
Benjamin Petersonee85a1d2010-10-13 22:20:15 +0000447.IP PYTHONIOENCODING
448If this is set before running the interpreter, it overrides the encoding used
449for stdin/stdout/stderr, in the syntax
450.IB encodingname ":" errorhandler
451The
452.IB errorhandler
453part is optional and has the same meaning as in str.encode. For stderr, the
454.IB errorhandler
455 part is ignored; the handler will always be \'backslashreplace\'.
Matthias Klosec8b16f82010-01-31 16:14:37 +0000456.IP PYTHONNOUSERSITE
Benjamin Petersonee85a1d2010-10-13 22:20:15 +0000457If this is set to a non-empty string it is equivalent to specifying the
458\fB\-s\fP option (Don't add the user site directory to sys.path).
Guido van Rossumef5bca31994-05-03 14:15:32 +0000459.IP PYTHONUNBUFFERED
Guido van Rossuma7925f11994-01-26 10:20:16 +0000460If this is set to a non-empty string it is equivalent to specifying
Guido van Rossumef5bca31994-05-03 14:15:32 +0000461the \fB\-u\fP option.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000462.IP PYTHONVERBOSE
463If this is set to a non-empty string it is equivalent to specifying
Guido van Rossum9abaf4d2001-10-12 22:17:56 +0000464the \fB\-v\fP option. If set to an integer, it is equivalent to
Brett Cannonf299abd2015-04-13 14:21:02 -0400465specifying \fB\-v\fP multiple times.
Philip Jenvey0805ca32010-04-07 04:04:10 +0000466.IP PYTHONWARNINGS
467If this is set to a comma-separated string it is equivalent to
468specifying the \fB\-W\fP option for each separate value.
Georg Brandl2daf6ae2012-02-20 19:54:16 +0100469.IP PYTHONHASHSEED
Benjamin Petersonc9f54cf2012-02-21 16:08:05 -0500470If this variable is set to "random", a random value is used to seed the hashes
Serhiy Storchakae9c90aa2019-08-24 12:49:27 +0300471of str and bytes objects.
Georg Brandl2daf6ae2012-02-20 19:54:16 +0100472
473If PYTHONHASHSEED is set to an integer value, it is used as a fixed seed for
474generating the hash() of the types covered by the hash randomization. Its
475purpose is to allow repeatable hashing, such as for selftests for the
476interpreter itself, or to allow a cluster of python processes to share hash
477values.
478
479The integer must be a decimal number in the range [0,4294967295]. Specifying
Benjamin Petersonc9f54cf2012-02-21 16:08:05 -0500480the value 0 will disable hash randomization.
Berker Peksag9863de02018-07-09 22:17:54 +0300481.IP PYTHONMALLOC
482Set the Python memory allocators and/or install debug hooks. The available
483memory allocators are
484.IR malloc
485and
486.IR pymalloc .
487The available debug hooks are
488.IR debug ,
489.IR malloc_debug ,
490and
491.IR pymalloc_debug .
492.IP
493When Python is compiled in debug mode, the default is
494.IR pymalloc_debug
495and the debug hooks are automatically used. Otherwise, the default is
496.IR pymalloc .
497.IP PYTHONMALLOCSTATS
498If set to a non-empty string, Python will print statistics of the pymalloc
499memory allocator every time a new pymalloc object arena is created, and on
500shutdown.
501.IP
502This variable is ignored if the
503.RB $ PYTHONMALLOC
504environment variable is used to force the
505.BR malloc (3)
506allocator of the C library, or if Python is configured without pymalloc support.
507.IP PYTHONASYNCIODEBUG
508If this environment variable is set to a non-empty string, enable the debug
509mode of the asyncio module.
510.IP PYTHONTRACEMALLOC
511If this environment variable is set to a non-empty string, start tracing
512Python memory allocations using the tracemalloc module.
513.IP
514The value of the variable is the maximum number of frames stored in a
515traceback of a trace. For example,
516.IB PYTHONTRACEMALLOC=1
517stores only the most recent frame.
518.IP PYTHONFAULTHANDLER
519If this environment variable is set to a non-empty string,
520.IR faulthandler.enable()
521is called at startup: install a handler for SIGSEGV, SIGFPE, SIGABRT, SIGBUS
522and SIGILL signals to dump the Python traceback.
523.IP
524This is equivalent to the \fB-X faulthandler\fP option.
525.IP PYTHONEXECUTABLE
526If this environment variable is set,
527.IB sys.argv[0]
528will be set to its value instead of the value got through the C runtime. Only
529works on Mac OS X.
530.IP PYTHONUSERBASE
531Defines the user base directory, which is used to compute the path of the user
532.IR site-packages
533directory and Distutils installation paths for
534.IR "python setup\.py install \-\-user" .
535.IP PYTHONPROFILEIMPORTTIME
536If this environment variable is set to a non-empty string, Python will
537show how long each import takes. This is exactly equivalent to setting
538\fB\-X importtime\fP on the command line.
Stéphane Wirtelb7fd7382018-07-29 12:27:16 +0200539.IP PYTHONBREAKPOINT
540If this environment variable is set to 0, it disables the default debugger. It
541can be set to the callable of your debugger of choice.
Berker Peksag9863de02018-07-09 22:17:54 +0300542.SS Debug-mode variables
543Setting these variables only has an effect in a debug build of Python, that is,
544if Python was configured with the
545\fB\--with-pydebug\fP build option.
546.IP PYTHONTHREADDEBUG
547If this environment variable is set, Python will print threading debug info.
548.IP PYTHONDUMPREFS
549If this environment variable is set, Python will dump objects and reference
550counts still alive after shutting down the interpreter.
Guido van Rossuma7925f11994-01-26 10:20:16 +0000551.SH AUTHOR
Benjamin Peterson37c4f782015-05-10 21:19:18 -0400552The Python Software Foundation: https://www.python.org/psf/
Guido van Rossum74faed21996-07-30 19:27:05 +0000553.SH INTERNET RESOURCES
Benjamin Peterson755640b2015-04-30 17:37:11 -0400554Main website: https://www.python.org/
Guido van Rossum74faed21996-07-30 19:27:05 +0000555.br
Benjamin Peterson755640b2015-04-30 17:37:11 -0400556Documentation: https://docs.python.org/
Guido van Rossumf4a090d2000-09-01 20:36:34 +0000557.br
Lisa Hewus Fresh384899d2017-08-30 09:37:43 -0700558Developer resources: https://devguide.python.org/
Guido van Rossumf4a090d2000-09-01 20:36:34 +0000559.br
Benjamin Peterson755640b2015-04-30 17:37:11 -0400560Downloads: https://www.python.org/downloads/
Guido van Rossumf4a090d2000-09-01 20:36:34 +0000561.br
Ned Deily9d6d06e2018-06-11 00:45:50 -0400562Module repository: https://pypi.org/
Guido van Rossum74faed21996-07-30 19:27:05 +0000563.br
Fred Drakebd2e3b02001-07-26 21:25:58 +0000564Newsgroups: comp.lang.python, comp.lang.python.announce
Guido van Rossumf4a090d2000-09-01 20:36:34 +0000565.SH LICENSING
566Python is distributed under an Open Source license. See the file
567"LICENSE" in the Python source distribution for information on terms &
568conditions for accessing and otherwise using Python and for a
569DISCLAIMER OF ALL WARRANTIES.