1: 安装和设置
Pyinstaller 是一个普通的 python 软件包。可以使用 pip 安装:
pip install pyinstaller
在 Windows 中安装
对于 Windows,pywin32 或 pypiwin32 是先决条件。后者会在使用 pip 安装 pyinstaller 时自动安装。
在 Mac OS X 中安装*
PyInstaller 使用当前 Mac OS X 默认提供的 Python 2.7。如果要使用 Python 的后续版本,或者要使用 PyQT、Numpy、Matplotlib 等重要软件包,建议使用 MacPorts 或 Homebrew 安装。
从压缩包安装
如果 pip 不可用,请从 PyPI 下载压缩包。
要测试开发版本,请从 PyInstaller 下载页面的开发分支下载压缩包。
展开压缩包,找到 setup.py 脚本。以管理员权限执行 python setup.py install,安装或升级 PyInstaller。
验证安装
安装成功后,pyinstaller 命令应存在于所有平台的系统路径中。在命令行中输入 pyinstaller --version 进行验证。这将打印出 pyinstaller 的当前版本。
2: Using Pyinstaller
在最简单的使用情况下,只需导航到文件所在的目录,然后键入即可:
pyinstaller myfile.py
Pyinstaller 会分析该文件并创建:
- 与 myfile.py 位于同一目录下的 myfile.spec 文件
- 与 myfile.py 位于同一目录下的 build 文件夹
- 与 myfile.py 位于同一目录下的 dist 文件夹
- 构建文件夹中的日志文件
捆绑的应用程序可在 dist 文件夹中找到
选项
pyinstaller 可以使用多个选项。选项的完整列表可在此处找到。
捆绑应用程序后,打开 “dist/myfile/myfile.exe ”即可运行。
3: 捆绑到一个文件夹
当 PyInstaller 在不带任何选项的情况下捆绑 myscript.py 时,默认输出是一个单独的文件夹(名为 myscript),其中包含一个名为 myscript 的可执行文件(windows 中为 myscript.exe)以及所有必要的依赖项。
应用程序可以通过将文件夹压缩成 zip 文件的方式发布。
可使用选项“-D ”或“--onedir ”明确设置 “一个文件夹 ”模式。
pyinstaller myscript.py -D
优点:
捆绑到单个文件夹的主要优点之一是更容易调试问题。如果有模块导入失败,可以通过检查文件夹来验证。
另一个优势是在更新时可以感受到。如果代码有一些改动,但使用的依赖关系完全相同,发布者只需发布可执行文件(通常比整个文件夹小)即可。
缺点
这种方法的唯一缺点是,用户必须在大量文件中搜索可执行文件。
此外,用户还可能删除/修改其他文件,导致应用程序无法正常运行。
4: 捆绑到单个文件
pyinstaller myscript.py -F
生成单个文件的选项是 -F 或 --onefile。这会将程序捆绑到一个 myscript.exe 文件中。
单个文件可执行文件比单个文件夹捆绑文件慢。它们也更难调试。