pyinstaller命令

发布时间 2023-09-27 19:51:18作者: linux星

usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] [--contents-directory CONTENTS_DIRECTORY]
                   [--add-data SOURCE:DEST] [--add-binary SOURCE:DEST] [-p DIR] [--hidden-import MODULENAME]
                   [--collect-submodules MODULENAME] [--collect-data MODULENAME] [--collect-binaries MODULENAME]
                   [--collect-all MODULENAME] [--copy-metadata PACKAGENAME] [--recursive-copy-metadata PACKAGENAME]
                   [--additional-hooks-dir HOOKSPATH] [--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES]
                   [--splash IMAGE_FILE] [-d {all,imports,bootloader,noarchive}] [--python-option PYTHON_OPTION] [-s]
                   [--noupx] [--upx-exclude FILE] [-c] [-w]
                   [--hide-console {minimize-late,minimize-early,hide-early,hide-late}]
                   [-i <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">] [--disable-windowed-traceback]
                   [--version-file FILE] [-m <FILE or XML>] [-r RESOURCE] [--uac-admin] [--uac-uiaccess]
                   [--argv-emulation] [--osx-bundle-identifier BUNDLE_IDENTIFIER] [--target-architecture ARCH]
                   [--codesign-identity IDENTITY] [--osx-entitlements-file FILENAME] [--runtime-tmpdir PATH]
                   [--bootloader-ignore-signals] [--distpath DIR] [--workpath WORKPATH] [-y] [--upx-dir UPX_DIR]
                   [--clean] [--log-level LEVEL]
                   scriptname [scriptname ...]

位置参数:
  scriptname            要处理的脚本文件的名称,或者正好是一个.spec文件。如果指定了.spec文件,大多数选项都是不必要的并且被忽略。

可选参数:
  -h, --help           显示此帮助消息并退出
  -v, --version         显示程序版本信息并退出。
  --distpath DIR        捆绑应用程序的放置位置(默认值:./dist)
  --workpath WORKPATH  将所有临时工作文件、.log、.pyz等放在何处(默认值:./build)
  -y, --noconfirm       替换输出目录(默认值:SPECPATH\dist\SPECNAME)而不要求确认
  --upx-dir UPX_DIR     UPX实用程序的路径(默认值:搜索执行路径)
  --clean               在生成之前,请清理PyInstaller缓存并删除临时文件。
  --log-level LEVEL     生成时控制台消息中的详细信息量。LEVEL可以是TRACE、DEBUG、INFO、WARN、DEPRECATION,ERROR,FATAL(默认值:INFO)。也可通过和覆盖PYI_LOG_LEVEL进行设置环境变量。

生成什么:
  -D, --onedir          创建一个包含可执行文件的单文件夹捆绑包(默认)
  -F, --onefile         创建一个文件绑定的可执行文件。
  --specpath DIR        用于存储生成的规范文件的文件夹(默认值:当前目录)
  -n NAME, --name NAME  要分配给捆绑应用程序和规范文件的名称(默认值:第一个脚本的基本名称)
  --contents-directory CONTENTS_DIRECTORY仅对于onedir构建,指定所有支持文件(即。
除了可执行文件本身之外的所有内容)。

捆绑什么,在哪里搜索:
  --add-data SOURCE:DEST
                       包含要添加到应用程序的数据文件的其他数据文件或目录。这个参数值应采用“source:dest_dir”的形式,其中source是文件的路径(或directory),dest_dir是相对于顶层的目标目录应用程序目录,两个路径用冒号(:)分隔。将文件放在顶部-级别应用程序目录,使用。作为dest_dir。此选项可以多次使用。
  --add-binary SOURCE:DEST要添加到可执行文件中的其他二进制文件。有关
格式。此选项可以多次使用。
  -p DIR, --paths DIR   搜索导入的路径(如使用PYTHONPATH)。允许多个路径,由分隔``;``,或多次使用此选项。相当于在中提供“pathex”参数spec文件。
  --hidden-import MODULENAME, --hiddenimport MODULENAME命名在脚本代码中不可见的导入。此选项可以多次使用时间。
  --collect-submodules MODULENAME  从指定的包或模块中收集所有子模块。此选项可以多次使用时间。
  --collect-data MODULENAME, --collect-datas MODULENAME  从指定的包或模块收集所有数据。此选项可以多次使用。
  --collect-binaries MODULENAME  从指定的包或模块中收集所有二进制文件。此选项可以多次使用时间。
  --collect-all MODULENAME  从指定的包或模块中收集所有子模块、数据文件和二进制文件。这选项可以多次使用。
  --copy-metadata PACKAGENAME  复制指定包的元数据。此选项可以多次使用。
  --recursive-copy-metadata PACKAGENAME  复制指定包及其所有依赖项的元数据。可以使用此选项多次。
  --additional-hooks-dir HOOKSPATH  用于搜索挂钩的附加路径。此选项可以多次使用。

  --runtime-hook RUNTIME_HOOKS  自定义运行时挂钩文件的路径。运行时挂钩是与可执行文件捆绑在一起的代码并在任何其他代码或模块之前执行,以设置运行时的特殊功能环境。此选项可以多次使用。
  --exclude-module EXCLUDES  将被忽略的可选模块或包(Python名称,而不是路径名称)(作为
尽管没有找到)。此选项可以多次使用。
  --splash IMAGE_FILE   (实验)将带有图像image_FILE的启动屏幕添加到应用程序中。飞溅解包时屏幕可以显示进度更新。

如何生成:
  -d {all,imports,bootloader,noarchive}, --debug {all,imports,bootloader,noarchive}
                        协助调试冻结应用程序。此参数可以提供多次选择以下几个选项的时间。

                        - all: 以下三个选项。

                        - imports: 为基础指定-v选项Python解释器,使其打印消息每次初始化模块时,显示位置(文件名或内置模块)已加载。

        See https://docs.python.org/3/using/cmdline.html#id4.

                        - bootloader:告诉引导加载程序发出进度初始化和启动时的消息捆绑应用程序。用于诊断问题缺少导入。

                        - noarchive: 而不是存储所有冻结的Python源文件作为结果中的存档可执行文件,将它们作为文件存储在输出目录。

  --python-option PYTHON_OPTION
                       指定一个命令行选项,以便在运行时传递给Python解释器。当前支持“v”(相当于“--debug imports”)、“u”和“W<警告控制>”。
  -s, --strip           将符号表条应用于可执行文件和共享库(不建议用于Windows)
  --noupx               即使UPX可用,也不要使用它(Windows和*nix的工作方式不同)
  --upx-exclude FILE   使用upx时防止二进制文件被压缩。这通常在upx损坏时使用压缩期间的某些二进制文件。FILE是不带路径的二进制文件的文件名。这选项可以多次使用。

Windows和Mac OS X特定选项:
  -c, --console, --nowindowed
                        打开标准i/o(默认)的控制台窗口。在Windows上,如果第一个脚本是“.pyw”文件。
  -w, --windowed, --noconsole
                        Windows和Mac OS X:不提供标准i/o的控制台窗口。在Mac操作系统上触发构建MacOS.app捆绑包。在Windows上,如果第一个脚本是“.pyw”文件。

       此选项在*NIX系统上被忽略。
  --hide-console {minimize-late,minimize-early,hide-early,hide-late}
                        仅限Windows:在控制台启用的可执行文件中,使引导加载程序自动隐藏或最小化如果程序拥有控制台窗口(即,不是从
       现有控制台窗口)。
  -i <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">, --icon <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">
                        FILE.ico:将图标应用于Windows可执行文件。 FILE.exe,ID: 从中提取ID为的图标exe.

       FILE.icns: 将图标应用于Mac OS上的.app捆绑包。如果输入了图像文件
       这不是平台格式(Windows上的ico,Mac上的icns),PyInstaller尝试使用
       Pillow将图标转换为正确的格式(如果安装了Pillow)。使用“NONE”
       不应用任何图标,从而使操作系统显示一些默认值(默认值:应用PyInstaller的
       图标)。此选项可以多次使用。
  --disable-windowed-traceback
                        禁用窗口(noconsole)模式下未处理异常的回溯转储(Windows和macOS仅限),并显示此功能被禁用的消息。

Windows特定选项:
  --version-file FILE   将FILE中的版本资源添加到exe中。
  -m <FILE or XML>, --manifest <FILE or XML>
                       将清单FILE或XML添加到exe中。
  -r RESOURCE, --resource RESOURCE
                        向Windows可执行文件添加或更新资源。资源是一到四个项目,
      文件[,类型[,名称[,语言]]]。FILE可以是数据文件或exe/dll。对于数据文件,至少
      必须指定TYPE和NAME。LANGUAGE默认为0,也可以指定为通配符*以
      更新给定TYPE和NAME的所有资源。对于exe/dll文件,FILE中的所有资源
      如果省略TYPE、NAME和LANGUAGE或
      指定为通配符*。此选项可以多次使用。
  --uac-admin          使用此选项可创建一个清单,该清单将在应用程序启动时请求提升。
  --uac-uiaccess        使用此选项可以使提升的应用程序与远程桌面一起工作。

Mac操作系统特定选项:
  --argv-emulation      为macOS应用程序捆绑包启用argv模拟。如果启用,则初始打开文档/URL事件由引导加载程序处理,并将传递的文件路径或URL附加到sys.argv。
  --osx-bundle-identifier BUNDLE_IDENTIFIER
                        Mac OS.app捆绑包标识符用作代码签名的默认唯一程序名称
目的。通常的形式是反向DNS表示法中的层次名称。例如:com.mycompany.department.appname(默认值:第一个脚本的基本名称)
  --target-architecture ARCH, --target-arch ARCH
                        目标体系结构(仅限macOS;有效值:x86_64、arm64、universal2)。启用切换在universal2和single-arch版本的冻结应用程序之间(提供python安装
       支持目标体系结构)。如果未指定not目标体系结构,则当前运行体系结构是有针对性的。
  --codesign-identity IDENTITY
                        代码签名标识(仅限macOS)。使用提供的标识对收集的二进制文件进行签名生成的可执行文件。如果未提供签名标识,则执行特别签名相反。
  --osx-entitlements-file FILENAME
                        对收集的二进制文件进行代码签名时要使用的权限文件(仅限macOS)。

很少使用的特殊选项:
  --runtime-tmpdir PATH
                        在“onefile”模式下从何处提取库和支持文件。如果给定此选项bootloader将忽略运行时操作系统定义的任何临时文件夹位置。这个``_MEIxxxxxx``-将在此处创建文件夹。

       请仅在您知道自己的情况下使用此选项正在做。
  --bootloader-ignore-signals
                       告诉引导加载程序忽略信号,而不是将它们转发到子进程。有用的例如,在主管进程同时向引导加载程序和子进程发出信号的情况下
      (例如通过进程组)以避免向孩子发出两次信号。