pyinstaller 参数
""" Add the `Makespec` options to a option-parser instance or a option group. """ g = parser.add_argument_group('What to generate') g.add_argument( "-D", "--onedir", dest="onefile", action="store_false", default=False, help="Create a one-folder bundle containing an executable (default)", ) g.add_argument( "-F", "--onefile", dest="onefile", action="store_true", default=False, help="Create a one-file bundled executable.", ) g.add_argument( "--specpath", metavar="DIR", help="Folder to store the generated spec file (default: current directory)", ) g.add_argument( "-n", "--name", help="Name to assign to the bundled app and spec file (default: first script's basename)", ) g = parser.add_argument_group('What to bundle, where to search') g.add_argument( '--add-data', action='append', default=[], type=add_data_or_binary, metavar='<SRC;DEST or SRC:DEST>', dest='datas', help='Additional non-binary files or folders to be added to the executable. 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.', ) g.add_argument( '--add-binary', action='append', default=[], type=add_data_or_binary, metavar='<SRC;DEST or SRC:DEST>', dest="binaries", help='Additional binary files to be added to the executable. See the ``--add-data`` option for more details. ' 'This option can be used multiple times.', ) g.add_argument( "-p", "--paths", dest="pathex", metavar="DIR", action="append", default=[], help="A path to search for imports (like using PYTHONPATH). Multiple paths are allowed, separated by ``%s``, " "or use this option multiple times. Equivalent to supplying the ``pathex`` argument in the spec file." % repr(os.pathsep), ) g.add_argument( '--hidden-import', '--hiddenimport', action='append', default=[], metavar="MODULENAME", dest='hiddenimports', help='Name an import not visible in the code of the script(s). This option can be used multiple times.', ) g.add_argument( '--collect-submodules', action="append", default=[], metavar="MODULENAME", dest='collect_submodules', help='Collect all submodules from the specified package or module. This option can be used multiple times.', ) g.add_argument( '--collect-data', '--collect-datas', action="append", default=[], metavar="MODULENAME", dest='collect_data', help='Collect all data from the specified package or module. This option can be used multiple times.', ) g.add_argument( '--collect-binaries', action="append", default=[], metavar="MODULENAME", dest='collect_binaries', help='Collect all binaries from the specified package or module. This option can be used multiple times.', ) g.add_argument( '--collect-all', action="append", default=[], metavar="MODULENAME", dest='collect_all', help='Collect all submodules, data files, and binaries from the specified package or module. This option can ' 'be used multiple times.', ) g.add_argument( '--copy-metadata', action="append", default=[], metavar="PACKAGENAME", dest='copy_metadata', help='Copy metadata for the specified package. This option can be used multiple times.', ) g.add_argument( '--recursive-copy-metadata', action="append", default=[], metavar="PACKAGENAME", dest='recursive_copy_metadata', help='Copy metadata for the specified package and all its dependencies. This option can be used multiple ' 'times.', ) g.add_argument( "--additional-hooks-dir", action="append", dest="hookspath", default=[], help="An additional path to search for hooks. This option can be used multiple times.", ) g.add_argument( '--runtime-hook', action='append', dest='runtime_hooks', default=[], help='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.', ) g.add_argument( '--exclude-module', dest='excludes', action='append', default=[], help='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.', ) g.add_argument( '--key', dest='key', help='The key used to encrypt Python bytecode.', ) g.add_argument( '--splash', dest='splash', metavar="IMAGE_FILE", help="(EXPERIMENTAL) Add an splash screen with the image IMAGE_FILE to the application. The splash screen can " "display progress updates while unpacking.", )
g = parser.add_argument_group('How to generate') g.add_argument( "-d", "--debug", # If this option is not specified, then its default value is an empty list (no debug options selected). default=[], # Note that ``nargs`` is omitted. This produces a single item not stored in a list, as opposed to a list # containing one item, as per `nargs <https://docs.python.org/3/library/argparse.html#nargs>`_. nargs=None, # The options specified must come from this list. choices=DEBUG_ALL_CHOICE + DEBUG_ARGUMENT_CHOICES, # Append choice, rather than storing them (which would overwrite any previous selections). action='append', # Allow newlines in the help text; see the ``_SmartFormatter`` in ``__main__.py``. help=( "R|Provide assistance with debugging a frozen\n" "application. This argument may be provided multiple\n" "times to select several of the following options.\n" "\n" "- all: All three of the following options.\n" "\n" "- imports: specify the -v option to the underlying\n" " Python interpreter, causing it to print a message\n" " each time a module is initialized, showing the\n" " place (filename or built-in module) from which it\n" " is loaded. See\n" " https://docs.python.org/3/using/cmdline.html#id4.\n" "\n" "- bootloader: tell the bootloader to issue progress\n" " messages while initializing and starting the\n" " bundled app. Used to diagnose problems with\n" " missing imports.\n" "\n" "- noarchive: instead of storing all frozen Python\n" " source files as an archive inside the resulting\n" " executable, store them as files in the resulting\n" " output directory.\n" "\n" ), ) g.add_argument( '--python-option', dest='python_options', metavar='PYTHON_OPTION', action='append', default=[], help='Specify a command-line option to pass to the Python interpreter at runtime. Currently supports ' '"v" (equivalent to "--debug imports"), "u", and "W <warning control>".', ) g.add_argument( "-s", "--strip", action="store_true", help="Apply a symbol-table strip to the executable and shared libs (not recommended for Windows)", ) g.add_argument( "--noupx", action="store_true", default=False, help="Do not use UPX even if it is available (works differently between Windows and *nix)", ) g.add_argument( "--upx-exclude", dest="upx_exclude", metavar="FILE", action="append", help="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.", ) g = parser.add_argument_group('Windows and Mac OS X specific options') g.add_argument( "-c", "--console", "--nowindowed", dest="console", action="store_true", default=True, help="Open a console window for standard i/o (default). On Windows this option has no effect if the first " "script is a '.pyw' file.", ) g.add_argument( "-w", "--windowed", "--noconsole", dest="console", action="store_false", help="Windows and Mac OS X: do not provide a console window for standard i/o. On Mac OS this also triggers " "building a Mac OS .app bundle. On Windows this option is automatically set if the first script is a '.pyw' " "file. This option is ignored on *NIX systems.", ) g.add_argument( "-i", "--icon", dest="icon_file", metavar='<FILE.ico or FILE.exe,ID or FILE.icns or "NONE">', help="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 Mac OS. Use \"NONE\" to not apply any icon, thereby making " "the OS to show some default (default: apply PyInstaller's icon)", ) g.add_argument( "--disable-windowed-traceback", dest="disable_windowed_traceback", action="store_true", default=False, help="Disable traceback dump of unhandled exception in windowed (noconsole) mode (Windows and macOS only), " "and instead display a message that this feature is disabled.", ) g = parser.add_argument_group('Windows specific options') g.add_argument( "--version-file", dest="version_file", metavar="FILE", help="Add a version resource from FILE to the exe.", ) g.add_argument( "-m", "--manifest", metavar="<FILE or XML>", help="Add manifest FILE or XML to the exe.", ) g.add_argument( "--no-embed-manifest", dest="embed_manifest", action="store_false", help="Generate an external .exe.manifest file instead of embedding the manifest into the exe. Applicable only " "to onedir mode; in onefile mode, the manifest is always embedded, regardless of this option.", ) g.add_argument( "-r", "--resource", dest="resources", metavar="RESOURCE", action="append", default=[], help="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.", ) g.add_argument( '--uac-admin', dest='uac_admin', action="store_true", default=False, help="Using this option creates a Manifest that will request elevation upon application start.", ) g.add_argument( '--uac-uiaccess', dest='uac_uiaccess', action="store_true", default=False, help="Using this option allows an elevated application to work with Remote Desktop.", ) g = parser.add_argument_group('Windows Side-by-side Assembly searching options (advanced)') g.add_argument( "--win-private-assemblies", dest="win_private_assemblies", action="store_true", help="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.", ) g.add_argument( "--win-no-prefer-redirects", dest="win_no_prefer_redirects", action="store_true", help="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 exact versions of " "the assembly.", ) g = parser.add_argument_group('Mac OS specific options') g.add_argument( '--osx-bundle-identifier', dest='bundle_identifier', help="Mac OS .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's basename)", ) g.add_argument( '--target-architecture', '--target-arch', dest='target_arch', metavar='ARCH', default=None, help="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.", ) g.add_argument( '--codesign-identity', dest='codesign_identity', metavar='IDENTITY', default=None, help="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.", ) g.add_argument( '--osx-entitlements-file', dest='entitlements_file', metavar='FILENAME', default=None, help="Entitlements file to use when code-signing the collected binaries (macOS only).", ) g = parser.add_argument_group('Rarely used special options') g.add_argument( "--runtime-tmpdir", dest="runtime_tmpdir", metavar="PATH", help="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.", ) g.add_argument( "--bootloader-ignore-signals", action="store_true", default=False, help="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.", )
pyinstaller abc.py # 要打包的top代码 -F # 只生成单个的exe文件, 缺点是运行exe时要先解压. -w # 不生成命令行窗口. --debug # 生成带debug信息的exe文件. --clean # 运行前清理编译的临时文件; --icon # 工具的top图标文件 --distpath # 输出的exe存放的目录 --workpath # 编译的临时文件存放的目录 --hidden-import # 隐含import的模块, 比如自定义/第三方的import模块等 --key # 加密密钥