具体如下:
a = Analysis(...)
:创建一个分析对象,用于定义打包过程中的各种配置。其中包括输入文件、路径、依赖项、排除项等等。这个分析对象将用于创建最终的可执行文件
pathex=[]
:指定搜索模块的路径列表。可以将自定义模块或库所在的路径添加到这个列表中。
binaries=[]
:包含二进制文件的列表。这些二进制文件将与可执行文件一起打包到最终的应用程序中。
datas=[]
:包含非 Python 文件的列表。这些文件将与可执行文件一起打包到最终的应用程序中。
hiddenimports=[]
:包含需要作为隐藏导入的模块列表。这些模块通常由运行时动态导入,而不是在主模块中显式导入。
hookspath=[]
:包含钩子脚本的路径列表。钩子脚本可以用于处理特定的模块导入情况。
hooksconfig={}
:钩子脚本的配置字典。可以在这里指定特定的钩子脚本配置选项。
runtime_hooks=[]
:包含在运行时执行的额外钩子脚本的列表。这些脚本可以在应用程序运行时进行自定义操作。
excludes=[]
:需要在打包过程中排除的模块列表。这些模块将不会被包含在最终的可执行文件中。
win_no_prefer_redirects=False
:在 Windows 平台上,是否禁用优先使用文件系统重定向。默认为 False。
win_private_assemblies=False
:在 Windows 平台上,是否将 DLL 文件作为私有程序集隔离。默认为 False。
noarchive=False
:是否创建一个归档文件。如果设置为 True,则打包后的文件将以归档文件的形式保存。
pyz
: 这是一个 PyInstaller 的内部参数,用于指定生成的主可执行文件(bundle)的名称。
a.scripts
: 这是一个列表,包含了需要打包的脚本文件的路径。你需要将你的脚本文件的路径添加到这个列表中。
exclude_binaries
: 这是一个布尔参数,表示是否要排除二进制文件。设置为 True 时,会排除项目中的二进制文件。
name
: 这是生成的可执行文件的名称。
debug
: 这是一个布尔参数,用于控制是否在生成的可执行文件中启用调试模式。
bootloader_ignore_signals
: 这是一个布尔参数,用于控制是否忽略启动加载程序的信号。
strip
: 这是一个布尔参数,表示是否对生成的可执行文件进行剥离(strip)。设置为 True 时,会从文件中删除调试和符号表信息,以减小文件大小。
upx
: 这是一个布尔参数,表示是否使用 UPX 压缩可执行文件。设置为 True 时,会使用 UPX 压缩可执行文件,以减小文件大小。
console
: 这是一个布尔参数,表示是否将可执行文件作为控制台应用程序运行。设置为 True 时,可执行文件将显示一个控制台窗口。
disable_windowed_traceback
: 这是一个布尔参数,用于控制是否禁用窗口模式下的回溯显示。
- 当在窗口模式下运行可执行文件时,如果出现异常或错误,Python 解释器会生成一个回溯信息来指示发生了什么错误以及错误发生的位置。该回溯信息通常包含堆栈跟踪、错误类型和错误消息。
- 然而,在某些情况下,我们可能希望禁用窗口模式下的回溯显示,特别是当我们发布最终产品时,可能不希望用户看到错误的技术细节。这就是
disable_windowed_traceback
参数发挥作用的时候。- 当
disable_windowed_traceback
设置为 True 时,PyInstaller 将禁用窗口模式下的回溯显示。这意味着当出现异常或错误时,不会在窗口中显示回溯信息,而是只显示简单的错误提示。这可以增强最终用户的使用体验,并提高产品的专业性。- 需要注意的是,禁用窗口模式下的回溯显示不会影响命令行模式下的回溯信息。当以命令行模式运行可执行文件时,回溯信息将正常显示。
- 因此,根据你的需求和项目的特定要求,你可以根据是否希望在窗口模式下禁用回溯显示来设置
disable_windowed_traceback
参数。
argv_emulation
: 这是一个布尔参数,表示是否模拟命令行参数。设置为 True 时,可执行文件将接受命令行参数并进行模拟。
target_arch
: 这是一个字符串参数,用于指定生成的可执行文件的目标架构。在打包过程中,PyInstaller 会将 Python 脚本和相关依赖项打包成一个独立的可执行文件,以便在目标计算机上运行。不同的操作系统和硬件平台支持不同的架构。因此,通过设置
target_arch
参数,可以确保生成的可执行文件与目标计算机的架构兼容。以下是一些常见的
target_arch
值:
x86
:指定生成的可执行文件的目标架构为 32 位 x86 架构。
x86_64
:指定生成的可执行文件的目标架构为 64 位 x86 架构。
armv7l
:指定生成的可执行文件的目标架构为 ARM 架构的 32 位版本。根据目标计算机的架构选择合适的
target_arch
值非常重要,以确保生成的可执行文件能够在目标计算机上正确运行。需要注意的是,不同的操作系统和平台可能支持的架构可能有所不同。在设置
target_arch
参数时,应参考目标计算机的操作系统和硬件平台,并选择相应的架构值。
aarch64
:指定生成的可执行文件的目标架构为 ARM 架构的 64 位版本。
codesign_identity
: 这是一个字符串参数,用于指定要用于签名可执行文件的证书标识符。- 在 macOS 系统上,可以使用数字证书对应用程序进行代码签名,以提供身份验证和安全性保证。对可执行文件进行签名后,可以确保其来源可信,并且在用户的计算机上正常运行。
codesign_identity
参数需要提供一个有效的证书标识符,该标识符与系统中可用的证书相关联。通常,这个标识符是由证书颁发机构分配给你的数字证书的值。- 使用
codesign_identity
参数,你可以告诉 PyInstaller 使用特定的证书标识符对生成的可执行文件进行签名。这样,当用户在其计算机上运行可执行文件时,操作系统将验证签名以确保文件的完整性和来源。- 请确保在设置
codesign_identity
参数时,提供了有效的证书标识符,并且已经在系统中安装了相应的数字证书。否则,在尝试签名可执行文件时可能会出现错误。
icon
: 这是一个字符串参数,用于指定生成的可执行文件的图标文件路径。
entitlements_file
: 这是一个字符串参数,用于指定包含特权和限制的 entitlements 文件的路径。- 在 macOS 和 iOS 系统中,应用程序可能需要访问某些系统功能或资源,如网络访问、摄像头、麦克风等。为了确保应用程序在运行时能够以符合安全规则的方式访问这些功能或资源,需要使用 entitlements 文件进行配置。
entitlements_file
参数提供了 entitlements 配置文件的路径。该文件通常是一个 XML 格式的文件,其中包含了授权应用程序特定权限和访问权限的信息。- 通过正确设置
entitlements_file
参数,PyInstaller 将在打包过程中将 entitlements 配置文件包含在最终的可执行文件中。这样,在用户的计算机上运行应用程序时,系统将根据 entitlements 文件中的配置来限制或授予应用程序相关权限。- 请确保在设置
entitlements_file
参数时,提供了有效的 entitlements 配置文件路径,并且该文件包含了应用程序所需的正确的权限配置。否则,应用程序可能无法正常访问所需的功能或资源,或者可能会因权限问题而引发错误。