Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PYTHON(1)		    General Commands Manual		     PYTHON(1)

NAME
       python  - an interpreted, interactive, object-oriented programming lan-
       guage

SYNOPSIS
       python [	-B ] [ -b ] [ -d ] [ -E	] [ -h ] [ -i ]	[ -I ]
	      [	-m module-name ] [ -q ]	[ -O ] [ -OO ] [ -P ] [	-s ] [ -S ]  [
       -u ]
	      [	-v ] [ -V ] [ -W argument ] [ -x ] [ -X	option ] [ -?  ]
	      [	--check-hash-based-pycs	default	| always | never ]
	      [	--help ] [ --help-env ]	[ --help-xoptions ] [ --help-all ]
	      [	-c command | script | -	] [ arguments ]

DESCRIPTION
       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 INTERNET RE-
       SOURCES 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 pydoc program.

COMMAND	LINE OPTIONS
       -B     Don't write .pyc files on	import.	See also  PYTHONDONTWRITEBYTE-
	      CODE.

       -b     Issue   warnings	about  str(bytes_instance),  str(bytearray_in-
	      stance) and comparing bytes/bytearray with str. (-bb: issue  er-
	      rors)

       -c command
	      Specify  the command to execute (see next	section).  This	termi-
	      nates the	option list (following options are passed as arguments
	      to the command).

       --check-hash-based-pycs mode
	      Configure	how Python evaluates the up-to-dateness	of  hash-based
	      .pyc files.

       -d     Turn  on	parser debugging output	(for expert only, depending on
	      compilation options).

       -E     Ignore environment variables like	PYTHONPATH and PYTHONHOME that
	      modify the behavior of the interpreter.

       -h ,  -?	,  --help
	      Prints the usage for the interpreter executable and exits.

       --help-env
	      Prints help about	Python-specific	environment variables and  ex-
	      its.

       --help-xoptions
	      Prints help about	implementation-specific	-X options and exits.

       --help-all
	      Prints complete usage information	and exits.

       -i     When  a  script  is passed as first argument or the -c 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.

       -I     Run Python in isolated mode. This	also implies -E, -P and	-s. 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.

       -m module-name
	      Searches sys.path	for the	named module and runs the  correspond-
	      ing  .py file as a script. This terminates the option list (fol-
	      lowing options are passed	as arguments to	the module).

       -O     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.

       -OO    Do  -O and also discard docstrings; change the filename for com-
	      piled (bytecode) files by	adding .opt-2 before the  .pyc	exten-
	      sion.

       -P     Don't   automatically  prepend  a	 potentially  unsafe  path  to
	      sys.path such as the current directory, the  script's  directory
	      or  an  empty  string.  See  also	the PYTHONSAFEPATH environment
	      variable.

       -q     Do not print the version and copyright messages. These  messages
	      are also suppressed in non-interactive mode.

       -s     Don't add	user site directory to sys.path.

       -S     Disable the import of the	module site and	the site-dependent ma-
	      nipulations of sys.path that it entails.	Also disable these ma-
	      nipulations if site is explicitly	imported later.

       -u     Force  the stdout	and stderr streams to be unbuffered.  This op-
	      tion has no effect on the	stdin stream.

       -v     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.

       -V ,  --version
	      Prints the Python	version	number of the  executable  and	exits.
	      When given twice,	print more information about the build.

       -W argument
	      Warning  control.	 Python's  warning machinery by	default	prints
	      warning messages to sys.stderr.

	      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
		-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, -Wi is the	same as	-Wignore .

	      The  full	 form  of  argument  is:  action:message:category:mod-
	      ule:lineno

	      Empty  fields  match  all	 values;  trailing empty fields	may be
	      omitted. For example -W ignore::DeprecationWarning  ignores  all
	      DeprecationWarning warnings.

	      The action field is as explained above but only applies to warn-
	      ings that	match the remaining fields.

	      The  message field must match the	whole printed warning message;
	      this match is case-insensitive.

	      The category 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 module field matches the (fully-qualified) module name; this
	      match is case-sensitive.

	      The lineno field matches the line	number,	where zero matches all
	      line numbers and is thus equivalent to an	omitted	line number.

	      Multiple -W options can be given;	when a	warning	 matches  more
	      than one option, the action for the last matching	option is per-
	      formed.  Invalid	-W 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 PYTHONWARNINGS 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.

       -X option
	      Set  implementation-specific  option.  The following options are
	      available:

		  -X faulthandler: enable faulthandler

		  -X showrefcount: 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

		  -X  tracemalloc: 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
		      traceback	limit of NFRAME	frames

		  -X  importtime:  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 python3 -X importtime -c
	      'import asyncio'

		  -X dev: 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. Effect	of the
	      developer	mode:
			 * Add default warning filter, as -W default
			 * 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

		  -X utf8: enable UTF-8	mode for operating system  interfaces,
	      overriding the default
		      locale-aware  mode.  -X utf8=0 explicitly	disables UTF-8
	      mode (even when it would
		      otherwise	activate automatically).  See  PYTHONUTF8  for
	      more details

		  -X  pycache_prefix=PATH: enable writing .pyc files to	a par-
	      allel tree rooted	at the
		      given directory instead of to the	code tree.

		  -X warn_default_encoding: enable opt-in EncodingWarning  for
	      'encoding=None'

		  -X no_debug_ranges: 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 tracebacks.

		  -X frozen_modules=[on|off]: whether or  not  frozen  modules
	      should be	used.
		     The  default is "on" (or "off" if you are running a local
	      build).

		  -X int_max_str_digits=number:	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.

       -x     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!

INTERPRETER INTERFACE
       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
       script  from  that  file;  when called with -c command, it executes the
       Python statement(s) given as command.  Here command 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 sys.argv, which is  a  list
       of  strings (you	must first import sys to be able to access it).	 If no
       script name is given, sys.argv[0] is an empty string; if	 -c  is	 used,
       sys.argv[0] contains the	string '-c'.  Note that	options	interpreted by
       the Python interpreter itself are not placed in sys.argv.

       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 sys.ps1 or sys.ps2.  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 KeyboardInterrupt ex-
       ception;	 other	UNIX  signals  are  not	caught (except that SIGPIPE is
       sometimes ignored, in favor of the IOError exception).  Error  messages
       are written to stderr.

FILES AND DIRECTORIES
       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 /usr/local.

       ${exec_prefix}/bin/python
	      Recommended location of the interpreter.

       ${prefix}/lib/python<version>
       ${exec_prefix}/lib/python<version>
	      Recommended locations of the directories containing the standard
	      modules.

       ${prefix}/include/python<version>
       ${exec_prefix}/include/python<version>
	      Recommended  locations of	the directories	containing the include
	      files needed for developing Python extensions and	embedding  the
	      interpreter.

ENVIRONMENT VARIABLES
       PYTHONSAFEPATH
	      If  this	is  set	 to  a	non-empty  string, don't automatically
	      prepend a	potentially unsafe path	to sys.path such as  the  cur-
	      rent  directory,	the script's directory or an empty string. See
	      also the -P option.

       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 /usr/local.	 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}.

       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 sys.path.

       PYTHONPLATLIBDIR
	      Override sys.platlibdir.

       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 sys.ps1  and
	      sys.ps2 in this file.

       PYTHONOPTIMIZE
	      If  this is set to a non-empty string it is equivalent to	speci-
	      fying the	-O option. If set to an	integer, it is	equivalent  to
	      specifying -O multiple times.

       PYTHONDEBUG
	      If  this is set to a non-empty string it is equivalent to	speci-
	      fying the	-d option. If set to an	integer, it is	equivalent  to
	      specifying -d multiple times.

       PYTHONDONTWRITEBYTECODE
	      If  this is set to a non-empty string it is equivalent to	speci-
	      fying the	-B option (don't try to	write .pyc files).

       PYTHONINSPECT
	      If this is set to	a non-empty string it is equivalent to	speci-
	      fying the	-i option.

       PYTHONIOENCODING
	      If  this is set before running the interpreter, it overrides the
	      encoding used for	stdin/stdout/stderr, in	the  syntax  encoding-
	      name:errorhandler	 The errorhandler part is optional and has the
	      same meaning as in str.encode. For stderr, the errorhandler
	       part is ignored;	the handler will always	be 'backslashreplace'.

       PYTHONNOUSERSITE
	      If this is set to	a non-empty string it is equivalent to	speci-
	      fying  the  -s  option  (Don't  add  the	user site directory to
	      sys.path).

       PYTHONUNBUFFERED
	      If this is set to	a non-empty string it is equivalent to	speci-
	      fying the	-u option.

       PYTHONVERBOSE
	      If  this is set to a non-empty string it is equivalent to	speci-
	      fying the	-v option. If set to an	integer, it is	equivalent  to
	      specifying -v multiple times.

       PYTHONWARNINGS
	      If  this	is set to a comma-separated string it is equivalent to
	      specifying the -W	option for each	separate value.

       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.

       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.

       PYTHONMALLOC
	      Set the Python memory allocators and/or install debug hooks. The
	      available	memory allocators are malloc and pymalloc.  The	avail-
	      able debug hooks are debug, malloc_debug,	and pymalloc_debug.

	      When  Python  is	compiled  in debug mode, the default is	pymal-
	      loc_debug	and the	debug hooks are	automatically used. Otherwise,
	      the default is pymalloc.

       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 $PYTHONMALLOC environment	 vari-
	      able  is used to force the malloc(3) allocator of	the C library,
	      or if Python is configured without pymalloc support.

       PYTHONASYNCIODEBUG
	      If this environment variable is set to a non-empty  string,  en-
	      able the debug mode of the asyncio module.

       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, PYTHONTRACEMALLOC=1
	      stores only the most recent frame.

       PYTHONFAULTHANDLER
	      If this environment variable  is	set  to	 a  non-empty  string,
	      faulthandler.enable()  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	-X faulthandler	option.

       PYTHONEXECUTABLE
	      If  this environment variable is set, sys.argv[0]	will be	set to
	      its value	instead	of the value got through the C	runtime.  Only
	      works on Mac OS X.

       PYTHONUSERBASE
	      Defines  the  user  base directory, which	is used	to compute the
	      path of the user site-packages directory and Distutils installa-
	      tion paths for python setup.py install --user.

       PYTHONPROFILEIMPORTTIME
	      If this environment variable  is	set  to	 a  non-empty  string,
	      Python  will  show  how  long each import	takes. This is exactly
	      equivalent to setting -X importtime on the command line.

       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.

   Debug-mode variables
       Setting these variables only has	an effect in a debug build of  Python,
       that is,	if Python was configured with the --with-pydebug build option.

       PYTHONTHREADDEBUG
	      If this environment variable is set, Python will print threading
	      debug  info.   The feature is deprecated in Python 3.10 and will
	      be removed in Python 3.12.

       PYTHONDUMPREFS
	      If this environment variable is set, Python  will	 dump  objects
	      and  reference counts still alive	after shutting down the	inter-
	      preter.

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

INTERNET RESOURCES
       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

LICENSING
       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.

								     PYTHON(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=python3.11&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help