PyInstaller 是一个用来将 Python 应用程序及其所有依赖项打包成一个可执行程序的工具;用户无需安装 Python 解释器或任何模块即可运行打包的应用程序。

通常我们执行 Python 脚本时,需要有 Python 环境,并要预先安装好需要使用的各个模块;这种情况下把脚本给非专业人士使用时可能造成不便。我们可以将程序连同 Python 环境以及程序运行时所需的依赖项打包到一个单独的 exe 可执行文件中,这样分发程序就变得容易多了;从某种程度上说,还能起到保护程序源码不被泄露的作用。

PyInstaller 用法

pyinstaller.exe命令语法:

pyinstaller [options] scriptfile [scriptfile …] | specfile

只列出 Windows 系统下常用的选项,完整列表请查阅官方文档:

位置参数

  • scriptfile 要处理的 Python 脚本文件
  • specfile .spec 文件

常用选项

  • -h,--help 显示帮助信息并退出
  • -v,--version 显示程序的版本信息并退出
  • --distpath DIR 生成的捆绑程序放置路径,默认./dist
  • --workpath WORKPATH 临时文件的放置路径,默认./build
  • --clean 在构建之前清理PyInstaller缓存并删除临时文件
  • --log-level LEVEL 构建是控制台消息的详细程度 LEVEL 可以是 TRACE、DEBUG、INFO、WARN、DEPRECATION、ERROR、FATAL 之一(默认值:INFO)。
  • -D, --onedir 创建包含可执行文件的单文件夹包(默认)
  • -F, --onefile 创建一个文件捆绑的可执行文件。
  • --specpath DIR 存储生成的规范文件的文件夹(默认:当前目录)
  • -n, --name NAME 分配给捆绑应用程序和规范文件的名称(默认值:第一个脚本的基本名称)
  • --add-data SOURCE:DEST
  • --add-binary SOURCE:DEST
  • -p, --paths DIR
  • --hidden-import, --hiddenimport MODULENAME
  • --collect-submodules MODULENAME
  • --collect-data, --collect-datas MODULENAME
  • --collect-binaries MODULENAME
  • --collect-all MODULENAME
  • --exclude-module EXCLUDES
  • --splash IMAGE_FILE
  • -c, --console, --nowindowed
  • -w, --windowed, --noconsole
  • -i, --icon
  • --version-file FILE

    dfad

  • --manifest