常用命令行参数

在编译过程中,PyInstaller也支持个性化的调整,这就需要使用命令行参数或者使用Spec文件来进行调整。当当前目录中不存在Spec文件时,PyInstaller会使用命令行参数来初始化一个Spec文件。PyInstaller中常用的命令行参数有以下这些。

参数简短参数功能
--help-h查看帮助文本
--version-v查看PyInstaller版本
--dispatch DIR指定最终打包文件输出目录,默认为.\textbackslash dist
--workpath DIR设置放置中间编译文件的临时目录,默认为.\textbackslash build
--noconfirm-y覆盖全部输出目录和文件时不再逐条提示确认
--upx-dir UPX_DIR设置UPX工具的目录
--ascii-a不使用Unicode编码支持
--clean编译前清除全部临时目录和输出目录内容
--onedir-D将最终输出的可执行文件和支持库放在一个目录中
--onefile-F将最终的可执行文件和支持库打包为一个文件
--specpath DIR指定放置Spec文件的目录位置
--name NAME-n NAME指定Spec文件和打包App文件的名称,默认使用传入的脚本文件名
--add-data <SRC:DEST或者SRC;DEST>添加额外的非二进制文件或者目录到打包文件或目录中,其中SRC为来源文件或者目录,DEST为打包文件中的目录,在不同的系统中需要使用不同的分隔符,其中Windows系统使用;,Unix系列系统使用:
--add-binary <SRC:DEST或者SRC;DEST>添加额外的二进制文件到打包文件或目录中
--paths DIR-p DIR设置用于寻找导入模块的目录,需要列举多个目录时,目录之间需要使用:隔开
--hidden-import MODULE_NAME设置在代码中使用的隐式导入模块的名称
--additional-hooks-dir HOOKS_DIR设置附加的连接文件所在目录
--runtime-hook RUNTIME_HOOKS设置自定义的运行时连接文件
--exclude-module EXCLUDES设置需要排除的可选模块或者包
--key KEY设置加密Python字节码的密钥
--console-c打开一个命令行窗口进行标准IO输入输出(默认方式)
--windowed-w不显示用于标准IO的命令行窗口,在macOS中会自动打包为.app打包文件。Unix系列系统会忽略这个选项
--icon ICON_FILE-i ICON_FILE指定Windows中可执行文件的图标(ico格式),以及macOS中app包的图标(icn格式)
--osx-bundle-identifier BUNDLE_IDENTIFIER设置macOS中app打包文件的识别ID