Pyinstaller的所有命令选项(全)

此文章为翻译

纯天然100%机翻

pyinstaller 因为安装已经有许多人做了 所以...

我从官方 Using PyInstaller — PyInstaller 4.5.1 documentation这里翻译了所有选项

有些只适用于一部分系统

pyinstaller命令的语法    pyinstaller [选项] 脚本 [脚本…] | specfile

  • 可选参数

-h, --help

显示帮助信息并退出

-v --version

显示程序版本信息并退出

--distpath DIR

绑定的应用程序放在哪里(默认:/dist)

--workpath WORKPATH

存放所有临时工作文件log,pyz等的位置(默认:./build)

-y, --noconfirm

替换输出目录(默认:SPECPATH/dist/SPECNAME)

--upx-dir UPX_DIR

UPX实用程序的路径(默认:搜索执行路径)

-a, --ascii

不包括unicode编码支持(默认:包括如果可用)

--clean

在构建之前清理pyinstaller缓存并删除临时文件。

--log-level LEVEL

构建时控制台消息中的详细信息量。级别可能是TRACE、DEBUG、INFO、WARN、ERROR、CRITICAL(默认值:INFO)中的一个。

  •   生成什么(东西)

-D, --onedir

创建一个包含可执行文件的单文件夹包(默认)

-F, --onefile

创建一个单文件绑定的可执行文件。

--specpath DIR

存放生成的规范文件的文件夹(默认:当前目录)

-n NAME, --name NAME

要分配给绑定的应用程序和规范文件的名称(默认:第一个脚本的basename)

  • 捆绑什么,在哪里搜索

--add-data 

要添加到可执行文件中的其他非二进制文件或文件夹。路径分隔符是平台特定的os。Pathsep(也就是;在Windows和:在大多数unix系统上)。这个选项可以多次使用。

--add-binary 

要添加到可执行文件中的附加二进制文件。更多细节请参见  add-data选项。这个选项可以多次使用。

-p DIR, --paths DIR

搜索导入的路径(比如使用PYTHONPATH)。允许多条路径,路径之间用':'隔开,或者多次使用该选项。相当于在规范文件中提供pathex参数。

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

自定义运行时钩子文件的路径。运行时钩子是与可执行文件绑定在一起的代码,在任何其他代码或模块之前执行,以设置运行时环境的特殊特性。这个选项可以多次使用。(具体钩子是什么我不知道,机翻的awa)

--exclude-module EXCLUDES

可选的模块或包(Python名,而不是路径名)将被忽略(就像没有找到它一样)。这个选项可以多次使用。

--key KEY

用于加密Python字节码的密钥。

--splash IMAGE_FILE

(实验性)在应用程序中添加带有图像图像文件的启动画面。启动画面可以在拆包时显示进度更新。

  • 如何生成

-d {all,imports,bootloader,noarchive}, --debug {all,imports,bootloader,noarchive}

为调试被冻结的应用程序提供帮助。可以多次提供此参数以选择以下几个选项。- all:下列所有三个选项。- imports:为底层Python解释器指定-v选项,使它在每次初始化模块时打印一条消息,显示模块从哪个位置(文件名或内置模块)加载。见https://docs.python.org/3/using/cmdline.html#id4. -bootloader:告诉引导加载程序在初始化和启动绑定的应用程序时发出进度消息。用于诊断缺少导入的问题。- noarchive:不是将所有冻结的Python源文件作为归档文件存储在生成的可执行文件中,而是将它们作为文件存储在生成的输出目录中。

-s, --strip

对可执行库和共享库应用符号表条带(Windows不推荐)

--noupx

不使用UPX,即使它是可用的(在Windows工作不同)

--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 OS X上,这也会触发构建一个OS X.app包。在Windows中,如果第一个脚本是".pyw "文件,则会设置此选项。这个选项在*NIX系统中被忽略。

-i , --icon 

ico:将该图标应用到Windows可执行文件中。FILE.exe, ID从exe中提取带有ID的图标。文件。使用"NONE"不应用任何图标,从而使OS显示一些默认值(默认值:应用PylInstaller的图标)

(其实就是换图标awa)

--disable-windowed-traceback

在有窗口(noconsole)模式(仅Windows和macOS)中禁用未处理异常的追溯转储,并显示一条消息表明该功能已禁用。

  • Windows特定的选项

--version-file FILE

添加一个版本资源从文件到exe

-m , --manifest 

添加manifest文件或XML到exe

-r RESOURCE, --resource RESOURCE

向Windows可执行文件添加或更新资源。资源是一到四个项目,FILEI.TYPEI.NAMEI.LANGUAGEIII。FILE可以是数据文件,也可以是exe/dll。对于数据文件,至少必须指定TYPE和NAME。LANGUAGE默认为O,也可以指定为通配符*,以更新给定TYPE和NAME的所有资源。对于exe/dll文件,如果在指定通配符时省略TYPE, NAME和LANGUAGE,则FILE中的所有资源将被添加/更新到最终的可执行文件*此选项可多次使用。

--uac-admin

使用此选项将创建一个Manifest,该Manifest将在应用程序重启时请求提升。

--uac-uiaccess

  • Windows并行程序集搜索选项(高级)

使用此选项允许提升应用程序与远程桌面一起工作。

--win-private-assemblies

任何绑定到应用程序中的共享程序集都将被更改为私有程序集。这意味着将始终使用这些程序集的确切版本,并且将忽略在用户机器上安装的任何较新的版本。

--win-no-prefer-redirects

在搜索要捆绑到应用程序中的共享程序集或私有程序集时,PyInstaller将不愿意遵循重定向到新版本的策略,并将尝试捆绑该程序集的确切版本。

  • Mac Os X特定选项

--osx-bundle-identifier BUNDLE_IDENTIFIER

Mac OS X.app bundle标识符被用作代码签名的默认唯一程序名。通常的形式是反向DNS表示法中的层次名称。例如:com.mycompany.department.appname(默认值:firstscript’s basename)

--target-architecture ARCH, --target-arch ARCH

目标架构(仅macOS;有效值:x86_64, arm64, universal2)。允许在通用2和单arch版本的冻结应用程序之间切换(提供python安装支持目标架构)。如果没有指定目标体系结构,则以当前运行的体系结构为目标。

--codesign-identity IDENTITY

代码签名标识(仅macOS)。使用提供的标识对收集的二进制文件和生成的可执行文件进行签名。如果没有提供签名标识,则执行临时签名。

--osx-entitlements-file FILENAME

在对收集的二进制文件进行编码签名时使用的授权文件(仅限macOS)

  • 很少使用的特殊选项

--runtime-tmpdir PATH

在一个文件模式下提取库和支持文件。如果给出了这个选项,引导加载程序将忽略运行时操作系统定义的任何临时文件夹位置。将在这里创建_meixxxxxx -文件夹。请使用这个选项,只有当你知道你在做什么。

--bootloader-ignore-signals

告诉引导加载程序忽略信号,而不是将它们转发给子进程。在这样的情况下非常有用,例如,一个管理进程同时向引导加载程序和子进程发出信号(例如通过进程组),以避免向子进程发出两次信号

求关注awa

你可能感兴趣的:(python,pyinstaller)