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

FreeBSD Manual Pages


home | help

       pyinstaller - Configure and build a PyInstaller project in one run

       pyinstaller <options> SCRIPT...

       pyinstaller <options> SPECFILE

       PyInstaller is a	program	that freezes (packages)	Python programs	into
       stand-alone executables,	under Windows, GNU/Linux, Mac OS X, FreeBSD,
       Solaris and AIX.	Its main advantages over similar tools are that	PyIn-
       staller works with Python 2.7 and 3.4a3.6, it builds smaller executa-
       bles thanks to transparent compression, it is fully multi-platform, and
       use the OS support to load the dynamic libraries, thus ensuring full

       You may either pass one or more file-names of Python scripts or a sin-
       gle .spec-file-name. In the first case, pyinstaller will	generate a
       .spec-file (as pyi-makespec would do) and immediately process it.

       If you pass a .spec-file, this will be processed	and most options given
       on the command-line will	have no	effect.	 Please	see the	PyInstaller
       Manual for more information.

       -h, --help
	      show this	help message and exit

       -v, --version
	      Show program version info	and exit.

       --distpath DIR
	      Where to put the bundled app (default: ./dist)

       --workpath WORKPATH
	      Where to put all the temporary work files, .log, .pyz and	etc.
	      (default:	./build)

       -y, --noconfirm
	      Replace output directory (default: SPECPATH/dist/SPECNAME) with-
	      out asking for confirmation

       --upx-dir UPX_DIR
	      Path to UPX utility (default: search the execution path)

       -a, --ascii
	      Do not include unicode encoding support (default:	included if

	      Clean PyInstaller	cache and remove temporary files before	build-

       --log-level LEVEL
	      Amount of	detail in build-time console messages. LEVEL may be
	      one of TRACE, DEBUG, INFO, WARN, ERROR, CRITICAL (default:

   What	to generate
       -D, --onedir
	      Create a one-folder bundle containing an executable (default)

       -F, --onefile
	      Create a one-file	bundled	executable.

       --specpath DIR
	      Folder to	store the generated spec file (default:	current	direc-

       -n NAME,	--name NAME
	      Name to assign to	the bundled app	and spec file (default:	first
	      script's basename)

   What	to bundle, where to search
       --add-data _SRC;DESTorSRC:DEST_
	      Additional non-binary files or folders to	be added to the	exe-
	      cutable. The path	separator is platform specific,	os.pathsep
	      (which is	; on Windows and : on most unix	systems) is used. This
	      option can be used multiple times.

       --add-binary _SRC;DESTorSRC:DEST_
	      Additional binary	files to be added to the executable.  See the
	      --add-data option	for more details. This option can be used mul-
	      tiple times.

       -p DIR, --paths DIR
	      A	path to	search for imports (like using PYTHONPATH).  Multiple
	      paths are	allowed, separated by ':', or use this option multiple

       --hidden-import MODULENAME, --hiddenimport MODULENAME
	      Name an import not visible in the	code of	the script(s). This
	      option can be used multiple times.

       --additional-hooks-dir HOOKSPATH
	      An additional path to search for hooks. This option can be used
	      multiple times.

       --runtime-hook RUNTIME_HOOKS
	      Path to a	custom runtime hook file. A runtime hook is code that
	      is bundled with the executable and is executed before any	other
	      code or module to	set up special features	of the runtime envi-
	      ronment. This option can be used multiple	times.

       --exclude-module	EXCLUDES
	      Optional module or package (the Python name, not the path	name)
	      that will	be ignored (as though it was not found). This option
	      can be used multiple times.

       --key KEY
	      The key used to encrypt Python bytecode.

   How to generate
       -d _all,imports,bootloader,noarchive_, --debug _all,imports,boot-
	      Provide assistance with debugging	a frozen application. This ar-
	      gument may be provided multiple times to select several of the
	      following	options.

	      o	all: All three of the following	options.

	      o	imports: specify the -v	option to the underlying Python	inter-
		preter,	causing	it to print a message each time	a module is
		initialized, showing the place (filename or built-in module)
		from which it is loaded. See

	      o	bootloader: tell the bootloader	to issue progress messages
		while initializing and starting	the bundled app. Used to diag-
		nose problems with missing imports.

	      o	noarchive: instead of storing all frozen Python	source files
		as an archive inside the resulting executable, store them as
		files in the resulting output directory.

       -s, --strip
	      Apply a symbol-table strip to the	executable and shared libs
	      (not recommended for Windows)

	      Do not use UPX even if it	is available (works differently	be-
	      tween Windows and	*nix)

       --upx-exclude FILE
	      Prevent a	binary from being compressed when using	upx.  This is
	      typically	used if	upx corrupts certain binaries during compres-
	      sion. FILE is the	filename of the	binary without path. This op-
	      tion can be used multiple	times.

   Windows and Mac OS X	specific options
       -c, --console, --nowindowed
	      Open a console window for	standard i/o (default).	On Windows
	      this option will have no effect if the first script is a '.pyw'

       -w, --windowed, --noconsole
	      Windows and Mac OS X: do not provide a console window for	stan-
	      dard i/o.	On Mac OS X this also triggers building	an OS X	.app
	      bundle. On Windows this option will be set if the	first script
	      is a '.pyw' file.	This option is ignored in *NIX systems.

       -i _FILE.icoorFILE.exe,IDorFILE.icns_, --icon _FILE.icoorFILE.exe,IDor-
	      FILE.ico:	apply that icon	to a Windows executable.  FILE.exe,ID,
	      extract the icon with ID from an exe.  FILE.icns:	apply the icon
	      to the .app bundle on Mac	OS X

   Windows specific options
       --version-file FILE
	      add a version resource from FILE to the exe

       -m _FILEorXML_, --manifest _FILEorXML_
	      add manifest FILE	or XML to the exe

       -r RESOURCE, --resource RESOURCE
	      Add or update a resource to a Windows executable.	The RESOURCE
	      is one to	four items, FILE[,TYPE[,NAME[,LANGUAGE]]]. FILE	can be
	      a	data file or an	exe/dll. For data files, at least TYPE and
	      NAME must	be specified. LANGUAGE defaults	to 0 or	may be speci-
	      fied as wildcard * to update all resources of the	given TYPE and
	      NAME. For	exe/dll	files, all resources from FILE will be
	      added/updated to the final executable if TYPE, NAME and LANGUAGE
	      are omitted or specified as wildcard *.This option can be	used
	      multiple times.

	      Using this option	creates	a Manifest which will request eleva-
	      tion upon	application restart.

	      Using this option	allows an elevated application to work with
	      Remote Desktop.

   Windows Side-by-side	Assembly searching options (advanced)
	      Any Shared Assemblies bundled into the application will be
	      changed into Private Assemblies. This means the exact versions
	      of these assemblies will always be used, and any newer versions
	      installed	on user	machines at the	system level will be ignored.

	      While searching for Shared or Private Assemblies to bundle into
	      the application, PyInstaller will	prefer not to follow policies
	      that redirect to newer versions, and will	try to bundle the ex-
	      act versions of the assembly.

   Mac OS X specific options
       --osx-bundle-identifier BUNDLE_IDENTIFIER
	      Mac OS X .app bundle identifier is used as the default unique
	      program name for code signing purposes. The usual	form is	a hi-
	      erarchical name in reverse DNS notation. For example:
	      company.department.appname (default: first script's basename)

   Rarely used special options
       --runtime-tmpdir	PATH
	      Where to extract libraries and support files in onefile-mode. If
	      this option is given, the	bootloader will	ignore any temp-folder
	      location defined by the run-time OS. The _MEIxxxxxx-folder will
	      be created here. Please use this option only if you know what
	      you are doing.

	      Tell the bootloader to ignore signals rather than	forwarding
	      them to the child	process. Useful	in situations where e.g. a su-
	      pervisor process signals both the	bootloader and child (e.g. via
	      a	process	group) to avoid	signalling the child twice.

	      This changes the directory where PyInstaller caches some files.
	      The default location for this is operating system	dependent, but
	      is typically a subdirectory of the home directory.

       pyi-makespec(1),	The PyInstaller	Manual, Project Homepage

       Hartmut Goebel

       This document has been placed in	the public domain.

3.5				  2020-08-29			PYINSTALLER(1)


Want to link to this manual page? Use this URL:

home | help