1PYTHON(1)                   General Commands Manual                  PYTHON(1)
2
3
4

NAME

6       python  - an interpreted, interactive, object-oriented programming lan‐
7       guage
8

SYNOPSIS

10       python [ -B ] [ -b ] [ -d ] [ -E ] [ -h ] [ -i ] [ -I ]
11              [ -m module-name ] [ -q ] [ -O ] [ -OO ] [ -s ] [ -S ] [ -u ]
12              [ -v ] [ -V ] [ -W argument ] [ -x ] [ [ -X option ] -?  ]
13              [ --check-hash-based-pycs default | always | never ]
14              [ -c command | script | - ] [ arguments ]
15

DESCRIPTION

17       Python is an interpreted, interactive, object-oriented programming lan‐
18       guage  that  combines  remarkable power with very clear syntax.  For an
19       introduction to programming in Python, see the  Python  Tutorial.   The
20       Python  Library  Reference  documents built-in and standard types, con‐
21       stants, functions and modules.  Finally, the  Python  Reference  Manual
22       describes  the  syntax  and  semantics of the core language in (perhaps
23       too) much detail.  (These documents may be  located  via  the  INTERNET
24       RESOURCES below; they may be installed on your system as well.)
25
26       Python's basic power can be extended with your own modules written in C
27       or C++.  On most  systems  such  modules  may  be  dynamically  loaded.
28       Python is also adaptable as an extension language for existing applica‐
29       tions.  See the internal documentation for hints.
30
31       Documentation for installed Python modules and packages can  be  viewed
32       by running the pydoc program.
33

COMMAND LINE OPTIONS

35       -B     Don't  write .pyc files on import. See also PYTHONDONTWRITEBYTE‐
36              CODE.
37
38       -b     Issue   warnings    about    str(bytes_instance),    str(bytear‐
39              ray_instance)  and  comparing  bytes/bytearray  with  str. (-bb:
40              issue errors)
41
42       -c command
43              Specify the command to execute (see next section).  This  termi‐
44              nates the option list (following options are passed as arguments
45              to the command).
46
47       --check-hash-based-pycs mode
48              Configure how Python evaluates the up-to-dateness of  hash-based
49              .pyc files.
50
51       -d     Turn  on  parser debugging output (for expert only, depending on
52              compilation options).
53
54       -E     Ignore environment variables like PYTHONPATH and PYTHONHOME that
55              modify the behavior of the interpreter.
56
57       -h ,  -? ,  --help
58              Prints the usage for the interpreter executable and exits.
59
60       -i     When  a  script  is passed as first argument or the -c option is
61              used, enter interactive mode after executing the script  or  the
62              command.  It does not read the $PYTHONSTARTUP file.  This can be
63              useful to inspect global variables  or  a  stack  trace  when  a
64              script raises an exception.
65
66       -I     Run  Python  in  isolated  mode. This also implies -E and -s. In
67              isolated mode sys.path contains neither the  script's  directory
68              nor  the user's site-packages directory. All PYTHON* environment
69              variables are ignored, too.  Further restrictions may be imposed
70              to prevent the user from injecting malicious code.
71
72       -m module-name
73              Searches  sys.path for the named module and runs the correspond‐
74              ing .py file as a script.
75
76       -O     Remove assert statements and any code conditional on  the  value
77              of __debug__; augment the filename for compiled (bytecode) files
78              by adding .opt-1 before the .pyc extension.
79
80       -OO    Do -O and also discard docstrings; change the filename for  com‐
81              piled  (bytecode)  files by adding .opt-2 before the .pyc exten‐
82              sion.
83
84       -q     Do not print the version and copyright messages. These  messages
85              are also suppressed in non-interactive mode.
86
87       -s     Don't add user site directory to sys.path.
88
89       -S     Disable  the  import  of  the module site and the site-dependent
90              manipulations of sys.path that it entails.  Also  disable  these
91              manipulations if site is explicitly imported later.
92
93       -u     Force  the  stdout  and  stderr  streams to be unbuffered.  This
94              option has no effect on the stdin stream.
95
96       -v     Print a message each time a module is initialized,  showing  the
97              place  (filename  or  built-in  module) from which it is loaded.
98              When given twice, print a message for each file that is  checked
99              for  when  searching for a module.  Also provides information on
100              module cleanup at exit.
101
102       -V ,  --version
103              Prints the Python version number of the  executable  and  exits.
104              When given twice, print more information about the build.
105
106       -W argument
107              Warning  control.   Python  sometimes  prints warning message to
108              sys.stderr.  A typical warning message has the  following  form:
109              file:line:  category:  message.   By  default,  each  warning is
110              printed once for each source line where it occurs.  This  option
111              controls  how  often  warnings are printed.  Multiple -W options
112              may be given; when a warning matches more than one  option,  the
113              action  for  the  last matching option is performed.  Invalid -W
114              options are ignored (a warning message is printed about  invalid
115              options when the first warning is issued).  Warnings can also be
116              controlled from within a Python program using the warnings  mod‐
117              ule.
118
119              The  simplest  form  of  argument is one of the following action
120              strings (or a unique abbreviation): ignore to ignore  all  warn‐
121              ings; default to explicitly request the default behavior (print‐
122              ing each warning once per source line); all to print  a  warning
123              each  time it occurs (this may generate many messages if a warn‐
124              ing is triggered repeatedly for the same source  line,  such  as
125              inside a loop); module to print each warning only the first time
126              it occurs in each module; once to print each  warning  only  the
127              first time it occurs in the program; or error to raise an excep‐
128              tion instead of printing a warning message.
129
130              The  full  form  of  argument  is   action:message:category:mod‐
131              ule:line.   Here,  action is as explained above but only applies
132              to messages that match the remaining fields.  Empty fields match
133              all  values;  trailing empty fields may be omitted.  The message
134              field matches the start of the  warning  message  printed;  this
135              match is case-insensitive.  The category field matches the warn‐
136              ing category.  This must be a class name; the match test whether
137              the  actual warning category of the message is a subclass of the
138              specified warning category.  The full class name must be  given.
139              The module field matches the (fully-qualified) module name; this
140              match is case-sensitive.  The line field matches the  line  num‐
141              ber,  where zero matches all line numbers and is thus equivalent
142              to an omitted line number.
143
144       -X option
145              Set implementation specific option.
146
147       -x     Skip the first line of the source.  This is intended for  a  DOS
148              specific hack only.  Warning: the line numbers in error messages
149              will be off by one!
150

INTERPRETER INTERFACE

152       The interpreter interface resembles that of the UNIX shell: when called
153       with  standard input connected to a tty device, it prompts for commands
154       and executes them until an EOF is read; when called with  a  file  name
155       argument  or  with  a  file  as standard input, it reads and executes a
156       script from that file; when called with -c  command,  it  executes  the
157       Python  statement(s) given as command.  Here command may contain multi‐
158       ple statements separated by newlines.  Leading whitespace  is  signifi‐
159       cant  in  Python statements!  In non-interactive mode, the entire input
160       is parsed before it is executed.
161
162       If available, the script name and additional arguments  thereafter  are
163       passed  to  the script in the Python variable sys.argv, which is a list
164       of strings (you must first import sys to be able to access it).  If  no
165       script  name  is  given, sys.argv[0] is an empty string; if -c is used,
166       sys.argv[0] contains the string '-c'.  Note that options interpreted by
167       the Python interpreter itself are not placed in sys.argv.
168
169       In  interactive  mode,  the  primary prompt is `>>>'; the second prompt
170       (which appears when a command is not complete) is `...'.   The  prompts
171       can  be  changed  by assignment to sys.ps1 or sys.ps2.  The interpreter
172       quits when it reads an EOF at a prompt.  When  an  unhandled  exception
173       occurs,  a  stack  trace  is printed and control returns to the primary
174       prompt; in non-interactive mode, the interpreter exits  after  printing
175       the  stack  trace.   The  interrupt signal raises the KeyboardInterrupt
176       exception; other UNIX signals are not caught (except  that  SIGPIPE  is
177       sometimes  ignored, in favor of the IOError exception).  Error messages
178       are written to stderr.
179

FILES AND DIRECTORIES

181       These are subject to difference depending on local installation conven‐
182       tions;  ${prefix}  and  ${exec_prefix}  are  installation-dependent and
183       should be interpreted as for GNU software; they may be the  same.   The
184       default for both is /usr/local.
185
186       ${exec_prefix}/bin/python
187              Recommended location of the interpreter.
188
189       ${prefix}/lib/python<version>
190       ${exec_prefix}/lib/python<version>
191              Recommended locations of the directories containing the standard
192              modules.
193
194       ${prefix}/include/python<version>
195       ${exec_prefix}/include/python<version>
196              Recommended locations of the directories containing the  include
197              files  needed for developing Python extensions and embedding the
198              interpreter.
199

ENVIRONMENT VARIABLES

201       PYTHONHOME
202              Change the  location  of  the  standard  Python  libraries.   By
203              default, the libraries are searched in ${prefix}/lib/python<ver‐
204              sion> and  ${exec_prefix}/lib/python<version>,  where  ${prefix}
205              and  ${exec_prefix} are installation-dependent directories, both
206              defaulting to /usr/local.  When $PYTHONHOME is set to  a  single
207              directory, its value replaces both ${prefix} and ${exec_prefix}.
208              To specify different values for these, set $PYTHONHOME to ${pre‐
209              fix}:${exec_prefix}.
210
211       PYTHONPATH
212              Augments  the  default search path for module files.  The format
213              is the same as the shell's $PATH: one or  more  directory  path‐
214              names   separated   by  colons.   Non-existent  directories  are
215              silently ignored.   The  default  search  path  is  installation
216              dependent,  but  generally begins with ${prefix}/lib/python<ver‐
217              sion> (see PYTHONHOME above).  The default search path is always
218              appended  to  $PYTHONPATH.   If  a script argument is given, the
219              directory containing the script is inserted in the path in front
220              of  $PYTHONPATH.  The search path can be manipulated from within
221              a Python program as the variable sys.path.
222
223       PYTHONSTARTUP
224              If this is the name of a readable file, the Python  commands  in
225              that  file  are executed before the first prompt is displayed in
226              interactive mode.  The file is executed in the same  name  space
227              where  interactive commands are executed so that objects defined
228              or imported in it can  be  used  without  qualification  in  the
229              interactive  session.   You  can also change the prompts sys.ps1
230              and sys.ps2 in this file.
231
232       PYTHONOPTIMIZE
233              If this is set to a non-empty string it is equivalent to  speci‐
234              fying  the  -O option. If set to an integer, it is equivalent to
235              specifying -O multiple times.
236
237       PYTHONDEBUG
238              If this is set to a non-empty string it is equivalent to  speci‐
239              fying  the  -d option. If set to an integer, it is equivalent to
240              specifying -d multiple times.
241
242       PYTHONDONTWRITEBYTECODE
243              If this is set to a non-empty string it is equivalent to  speci‐
244              fying the -B option (don't try to write .pyc files).
245
246       PYTHONINSPECT
247              If  this is set to a non-empty string it is equivalent to speci‐
248              fying the -i option.
249
250       PYTHONIOENCODING
251              If this is set before running the interpreter, it overrides  the
252              encoding  used  for stdin/stdout/stderr, in the syntax encoding‐
253              name:errorhandler The errorhandler part is optional and has  the
254              same meaning as in str.encode. For stderr, the errorhandler
255               part is ignored; the handler will always be ´backslashreplace´.
256
257       PYTHONNOUSERSITE
258              If  this is set to a non-empty string it is equivalent to speci‐
259              fying the -s option  (Don't  add  the  user  site  directory  to
260              sys.path).
261
262       PYTHONUNBUFFERED
263              If  this is set to a non-empty string it is equivalent to speci‐
264              fying the -u option.
265
266       PYTHONVERBOSE
267              If this is set to a non-empty string it is equivalent to  speci‐
268              fying  the  -v option. If set to an integer, it is equivalent to
269              specifying -v multiple times.
270
271       PYTHONWARNINGS
272              If this is set to a comma-separated string it is  equivalent  to
273              specifying the -W option for each separate value.
274
275       PYTHONHASHSEED
276              If  this  variable is set to "random", a random value is used to
277              seed the hashes of str, bytes and datetime objects.
278
279              If PYTHONHASHSEED is set to an integer value, it is  used  as  a
280              fixed seed for generating the hash() of the types covered by the
281              hash randomization.  Its purpose is to allow repeatable hashing,
282              such  as for selftests for the interpreter itself, or to allow a
283              cluster of python processes to share hash values.
284
285              The  integer  must  be   a   decimal   number   in   the   range
286              [0,4294967295].   Specifying  the value 0 will disable hash ran‐
287              domization.
288
289       PYTHONMALLOC
290              Set the Python memory allocators and/or install debug hooks. The
291              available memory allocators are malloc and pymalloc.  The avail‐
292              able debug hooks are debug, malloc_debug, and pymalloc_debug.
293
294              When Python is compiled in debug mode,  the  default  is  pymal‐
295              loc_debug and the debug hooks are automatically used. Otherwise,
296              the default is pymalloc.
297
298       PYTHONMALLOCSTATS
299              If set to a non-empty string, Python will  print  statistics  of
300              the  pymalloc  memory allocator every time a new pymalloc object
301              arena is created, and on shutdown.
302
303              This variable is ignored if the $PYTHONMALLOC environment  vari‐
304              able  is used to force the malloc(3) allocator of the C library,
305              or if Python is configured without pymalloc support.
306
307       PYTHONASYNCIODEBUG
308              If this environment variable  is  set  to  a  non-empty  string,
309              enable the debug mode of the asyncio module.
310
311       PYTHONTRACEMALLOC
312              If this environment variable is set to a non-empty string, start
313              tracing Python memory allocations using the tracemalloc module.
314
315              The value of the variable is the maximum number of frames stored
316              in  a  traceback  of  a  trace. For example, PYTHONTRACEMALLOC=1
317              stores only the most recent frame.
318
319       PYTHONFAULTHANDLER
320              If this environment variable  is  set  to  a  non-empty  string,
321              faulthandler.enable()  is  called  at startup: install a handler
322              for SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals to  dump
323              the Python traceback.
324
325              This is equivalent to the -X faulthandler option.
326
327       PYTHONEXECUTABLE
328              If  this environment variable is set, sys.argv[0] will be set to
329              its value instead of the value got through the C  runtime.  Only
330              works on Mac OS X.
331
332       PYTHONUSERBASE
333              Defines  the  user  base directory, which is used to compute the
334              path of the user site-packages directory and Distutils installa‐
335              tion paths for python setup.py install --user.
336
337       PYTHONPROFILEIMPORTTIME
338              If  this  environment  variable  is  set  to a non-empty string,
339              Python will show how long each import  takes.  This  is  exactly
340              equivalent to setting -X importtime on the command line.
341
342       PYTHONBREAKPOINT
343              If  this  environment  variable  is  set  to  0, it disables the
344              default debugger. It can be set to the callable of your debugger
345              of choice.
346
347   Debug-mode variables
348       Setting  these variables only has an effect in a debug build of Python,
349       that is, if Python was configured with the --with-pydebug build option.
350
351       PYTHONTHREADDEBUG
352              If this environment variable is set, Python will print threading
353              debug info.
354
355       PYTHONDUMPREFS
356              If  this  environment  variable is set, Python will dump objects
357              and reference counts still alive after shutting down the  inter‐
358              preter.
359

AUTHOR

361       The Python Software Foundation: https://www.python.org/psf/
362

INTERNET RESOURCES

364       Main website:  https://www.python.org/
365       Documentation:  https://docs.python.org/
366       Developer resources:  https://devguide.python.org/
367       Downloads:  https://www.python.org/downloads/
368       Module repository:  https://pypi.org/
369       Newsgroups:  comp.lang.python, comp.lang.python.announce
370

LICENSING

372       Python  is  distributed  under  an  Open  Source license.  See the file
373       "LICENSE" in the Python source distribution for information on terms  &
374       conditions  for  accessing  and  otherwise  using Python and for a DIS‐
375       CLAIMER OF ALL WARRANTIES.
376
377
378
379                                                                     PYTHON(1)
Impressum