File: pyinstaller.1

package info (click to toggle)
pyinstaller 6.16.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,748 kB
  • sloc: python: 41,632; ansic: 11,944; makefile: 172; sh: 132; xml: 19
file content (378 lines) | stat: -rw-r--r-- 14,490 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "PYINSTALLER" "1" "2025-09-13" "6.16.0" "PyInstaller"
.SH NAME
pyinstaller \- Configure and build a PyInstaller project in one run
.\" disable justification (adjust text to left margin only)
.ad l
\.SH SYNOPSIS
.sp
\fBpyinstaller\fP <options> SCRIPT...
.sp
\fBpyinstaller\fP <options> SPECFILE
.SH DESCRIPTION
.sp
PyInstaller is a program that freezes (packages) Python programs into
stand\-alone executables, under Windows, GNU/Linux, macOS,
FreeBSD, OpenBSD, Solaris and AIX.
Its main advantages over similar tools are that PyInstaller works with
Python 3.8\-3.11, it builds smaller executables thanks to transparent
compression, it is fully multi\-platform, and use the OS support to load the
dynamic libraries, thus ensuring full compatibility.
.sp
You may either pass one or more file\-names of Python scripts or a single
\fI\&.spec\fP\-file\-name. In the first case, \fBpyinstaller\fP will generate a
\fI\&.spec\fP\-file (as \fBpyi\-makespec\fP would do) and immediately process it.
.sp
If you pass a \fI\&.spec\fP\-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.
.SH OPTIONS
.SS Positional Arguments
.sp
scriptname
.INDENT 0.0
.INDENT 3.5
Name of scriptfiles to be processed or exactly one .spec file. If a .spec
file is specified, most options are unnecessary and are ignored.
.UNINDENT
.UNINDENT
.SS Options
.INDENT 0.0
.TP
.B  \-h\fP,\fB  \-\-help
show this help message and exit
.TP
.B  \-v\fP,\fB  \-\-version
Show program version info and exit.
.TP
.BI \-\-distpath \ DIR
Where to put the bundled app (default: ./dist)
.TP
.BI \-\-workpath \ WORKPATH
Where to put all the temporary work files, .log, .pyz and etc. (default:
\&./build)
.TP
.B  \-y\fP,\fB  \-\-noconfirm
Replace output directory (default: SPECPATH/dist/SPECNAME) without asking
for confirmation
.TP
.BI \-\-upx\-dir \ UPX_DIR
Path to UPX utility (default: search the execution path)
.TP
.B  \-\-clean
Clean PyInstaller cache and remove temporary files before building.
.TP
.BI \-\-log\-level \ LEVEL
Amount of detail in build\-time console messages. LEVEL may be one of TRACE,
DEBUG, INFO, WARN, DEPRECATION, ERROR, FATAL (default: INFO). Also settable
via and overrides the PYI_LOG_LEVEL environment variable.
.UNINDENT
.SS What To Generate
.INDENT 0.0
.TP
.B  \-D\fP,\fB  \-\-onedir
Create a one\-folder bundle containing an executable (default)
.TP
.B  \-F\fP,\fB  \-\-onefile
Create a one\-file bundled executable.
.TP
.BI \-\-specpath \ DIR
Folder to store the generated spec file (default: current directory)
.TP
.BI \-n \ NAME\fR,\fB \ \-\-name \ NAME
Name to assign to the bundled app and spec file (default: first script\(aqs
basename)
.TP
.BI \-\-contents\-directory \ CONTENTS_DIRECTORY
For onedir builds only, specify the name of the directory in which all
supporting files (i.e. everything except the executable itself) will be
placed in. Use \(dq.\(dq to re\-enable old onedir layout without contents
directory.
.UNINDENT
.SS What To Bundle, Where To Search
.sp
\-\-add\-data SOURCE:DEST
.INDENT 0.0
.INDENT 3.5
Additional data files or directories containing data files to be added to
the application. The argument value should be in form of \(dqsource:dest_dir\(dq,
where source is the path to file (or directory) to be collected, dest_dir
is the destination directory relative to the top\-level application
directory, and both paths are separated by a colon (:). To put a file in
the top\-level application directory, use . as a dest_dir. This option can
be used multiple times.
.UNINDENT
.UNINDENT
.sp
\-\-add\-binary SOURCE:DEST
.INDENT 0.0
.INDENT 3.5
Additional binary files to be added to the executable. See the
\fB\-\-add\-data\fP option for the format. This option can be used multiple
times.
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.BI \-p \ DIR\fR,\fB \ \-\-paths \ DIR
A path to search for imports (like using PYTHONPATH). Multiple paths are
allowed, separated by \fB\(aq:\(aq\fP, or use this option multiple times.
Equivalent to supplying the \fBpathex\fP argument in the spec file.
.TP
.BI \-\-hidden\-import \ MODULENAME\fR,\fB \ \-\-hiddenimport \ MODULENAME
Name an import not visible in the code of the script(s). This option can be
used multiple times.
.TP
.BI \-\-collect\-submodules \ MODULENAME
Collect all submodules from the specified package or module. This option
can be used multiple times.
.TP
.BI \-\-collect\-data \ MODULENAME\fR,\fB \ \-\-collect\-datas \ MODULENAME
Collect all data from the specified package or module. This option can be
used multiple times.
.TP
.BI \-\-collect\-binaries \ MODULENAME
Collect all binaries from the specified package or module. This option can
be used multiple times.
.TP
.BI \-\-collect\-all \ MODULENAME
Collect all submodules, data files, and binaries from the specified package
or module. This option can be used multiple times.
.TP
.BI \-\-copy\-metadata \ PACKAGENAME
Copy metadata for the specified package. This option can be used multiple
times.
.TP
.BI \-\-recursive\-copy\-metadata \ PACKAGENAME
Copy metadata for the specified package and all its dependencies. This
option can be used multiple times.
.TP
.BI \-\-additional\-hooks\-dir \ HOOKSPATH
An additional path to search for hooks. This option can be used multiple
times.
.TP
.BI \-\-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 environment. This option can be used
multiple times.
.TP
.BI \-\-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.
.TP
.BI \-\-splash \ IMAGE_FILE
(EXPERIMENTAL) Add an splash screen with the image IMAGE_FILE to the
application. The splash screen can display progress updates while
unpacking.
.UNINDENT
.SS How To Generate
.sp
\-d {all,imports,bootloader,noarchive}, \-\-debug {all,imports,bootloader,noarchive}
.INDENT 0.0
.INDENT 3.5
Provide assistance with debugging a frozen application. This argument may
be provided multiple times to select several of the following options.  \-
all: All three of the following options.  \- imports: specify the \-v option
to the underlying   Python interpreter, 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
\X'tty: link https://docs.python.org/3/using/cmdline.html#id4'\fI\%https://docs.python.org/3/using/cmdline.html#id4\fP\X'tty: link'\&.  \- bootloader: tell the
bootloader to issue progress   messages while initializing and starting the
bundled app. Used to diagnose problems with   missing imports.  \-
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.
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.BI \-\-optimize \ LEVEL
Bytecode optimization level used for collected python modules and scripts.
For details, see the section “Bytecode Optimization Level” in PyInstaller
manual.
.TP
.BI \-\-python\-option \ PYTHON_OPTION
Specify a command\-line option to pass to the Python interpreter at runtime.
Currently supports \(dqv\(dq (equivalent to \(dq\-\-debug imports\(dq), \(dqu\(dq, \(dqW <warning
control>\(dq, \(dqX <xoption>\(dq, and \(dqhash_seed=<value>\(dq. For details, see the
section \(dqSpecifying Python Interpreter Options\(dq in PyInstaller manual.
.TP
.B  \-s\fP,\fB  \-\-strip
Apply a symbol\-table strip to the executable and shared libs (not
recommended for Windows)
.TP
.B  \-\-noupx
Do not use UPX even if it is available (works differently between Windows
and *nix)
.TP
.BI \-\-upx\-exclude \ FILE
Prevent a binary from being compressed when using upx. This is typically
used if upx corrupts certain binaries during compression. FILE is the
filename of the binary without path. This option can be used multiple
times.
.UNINDENT
.SS Windows And Macos Specific Options
.INDENT 0.0
.TP
.B  \-c\fP,\fB  \-\-console\fP,\fB  \-\-nowindowed
Open a console window for standard i/o (default). On Windows this option
has no effect if the first script is a \(aq.pyw\(aq file.
.TP
.B  \-w\fP,\fB  \-\-windowed\fP,\fB  \-\-noconsole
Windows and macOS: do not provide a console window for standard i/o. On
macOS this also triggers building a macOS .app bundle. On Windows this
option is automatically set if the first script is a \(aq.pyw\(aq file. This
option is ignored on *NIX systems.
.UNINDENT
.sp
\-\-hide\-console {hide\-early,hide\-late,minimize\-early,minimize\-late}
.INDENT 0.0
.INDENT 3.5
Windows only: in console\-enabled executable, have bootloader automatically
hide or minimize the console window if the program owns the console window
(i.e., was not launched from an existing console window).
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.BI \-i \ <FILE.ico or FILE.exe,ID or FILE.icns or Image or \(dqNONE\(dq>\fR,\fB \ \-\-icon \ <FILE.ico or FILE.exe,ID or FILE.icns or Image or \(dqNONE\(dq>
FILE.ico: apply the 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
macOS. If an image file is entered that isn\(aqt in the platform format (ico
on Windows, icns on Mac), PyInstaller tries to use Pillow to translate the
icon into the correct format (if Pillow is installed). Use \(dqNONE\(dq to not
apply any icon, thereby making the OS show some default (default: apply
PyInstaller\(aqs icon). This option can be used multiple times.
.TP
.B  \-\-disable\-windowed\-traceback
Disable traceback dump of unhandled exception in windowed (noconsole) mode
(Windows and macOS only), and instead display a message that this feature
is disabled.
.UNINDENT
.SS Windows Specific Options
.INDENT 0.0
.TP
.BI \-\-version\-file \ FILE
Add a version resource from FILE to the exe.
.TP
.BI \-\-manifest \ <FILE or XML>
Add manifest FILE or XML to the exe.
.TP
.BI \-m \ <FILE or XML>
Deprecated shorthand for \-\-manifest.
.TP
.BI \-r \ RESOURCE\fR,\fB \ \-\-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 specified 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.
.TP
.B  \-\-uac\-admin
Using this option creates a Manifest that will request elevation upon
application start.
.TP
.B  \-\-uac\-uiaccess
Using this option allows an elevated application to work with Remote
Desktop.
.UNINDENT
.SS Macos Specific Options
.INDENT 0.0
.TP
.B  \-\-argv\-emulation
Enable argv emulation for macOS app bundles. If enabled, the initial open
document/URL event is processed by the bootloader and the passed file paths
or URLs are appended to sys.argv.
.TP
.BI \-\-osx\-bundle\-identifier \ BUNDLE_IDENTIFIER
macOS .app bundle identifier is used as the default unique program name for
code signing purposes. The usual form is a hierarchical name in reverse DNS
notation. For example: com.mycompany.department.appname (default: first
script\(aqs basename)
.TP
.BI \-\-target\-architecture \ ARCH\fR,\fB \ \-\-target\-arch \ ARCH
Target architecture (macOS only; valid values: x86_64, arm64, universal2).
Enables switching between universal2 and single\-arch version of frozen
application (provided python installation supports the target
architecture). If not target architecture is not specified, the current
running architecture is targeted.
.TP
.BI \-\-codesign\-identity \ IDENTITY
Code signing identity (macOS only). Use the provided identity to sign
collected binaries and generated executable. If signing identity is not
provided, ad\-hoc signing is performed instead.
.TP
.BI \-\-osx\-entitlements\-file \ FILENAME
Entitlements file to use when code\-signing the collected binaries (macOS
only).
.UNINDENT
.SS Rarely Used Special Options
.INDENT 0.0
.TP
.BI \-\-runtime\-tmpdir \ PATH
Where to extract libraries and support files in \fIonefile\fP mode. If this
option is given, the bootloader will ignore any temp\-folder location
defined by the run\-time OS. The \fB_MEIxxxxxx\fP\-folder will be created here.
Please use this option only if you know what you are doing. Note that on
POSIX systems, PyInstaller\(aqs bootloader does NOT perform shell\-style
environment variable expansion on the given path string. Therefore, using
environment variables (e.g., \fB~\fP or \fB$HOME\fP) in path will NOT work.
.TP
.B  \-\-bootloader\-ignore\-signals
Tell the bootloader to ignore signals rather than forwarding them to the
child process. Useful in situations where for example a supervisor process
signals both the bootloader and the child (e.g., via a process group) to
avoid signalling the child twice.
.UNINDENT
.SH ENVIRONMENT VARIABLES
.INDENT 0.0
.TP
.B PYINSTALLER_CONFIG_DIR
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.
.UNINDENT
.SH SEE ALSO
.sp
\fBpyi\-makespec\fP(1),
The PyInstaller Manual \X'tty: link https://pyinstaller.readthedocs.io/'\fI\%https://pyinstaller.readthedocs.io/\fP\X'tty: link',
Project Homepage \X'tty: link http://www.pyinstaller.org'\fI\%http://www.pyinstaller.org\fP\X'tty: link'
.SH AUTHOR
Hartmut Goebel
.SH COPYRIGHT
This document has been placed in the public domain.
.\" Generated by docutils manpage writer.
.