PyInstaller 是一个用来将 Python 应用程序及其所有依赖项打包成一个可执行程序的工具;用户无需安装 Python 解释器或任何模块即可运行打包的应用程序。
通常我们执行 Python 脚本时,需要有 Python 环境,并要预先安装好需要使用的各个模块;这种情况下把脚本给非专业人士使用时可能造成不便。我们可以将程序连同 Python 环境以及程序运行时所需的依赖项打包到一个单独的 exe 可执行文件中,这样分发程序就变得容易多了;从某种程度上说,还能起到保护程序源码不被泄露的作用。
- 安装 PyInstaller
- PyInstaller 助手(一个图形化工具)
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