PyInstaller将Python应用程序及其所有依赖项捆绑到一个包中。用户可以在不安装Python解释器或任何模块的情况下运行打包的应用程序。PyInstaller支持Python 3.8及更新版本,并正确地捆绑了许多主要的Python包,如numpy、matplotlib、PyQt、wxPython等。
PyInstaller针对Windows、MacOSX和Linux进行了测试。然而,它不是一个交叉编译器;制作一个Windows应用程序,你可以在Windows上运行PyInstaller,制作一个Linux应用程序,需要在Linux上运行它。
安装pyinstaller
:
pip install pyinstaller
Windows下生成exe示例:
hello.py
:
print('Hello World!')
执行以下命令生成exe文件:
pyinstaller -F hello.py
生成的目录结构如下:
在dist目录下生成了一个hello.exe可执行文件。
PyInstaller 不仅支持 -F 选项,而且也支持如下表所示的常用选项。
-h,–help | 查看该模块的帮助信息 |
---|---|
-F,-onefile | 产生单个的可执行文件 |
-D,–onedir | 产生一个目录(包含多个文件)作为可执行程序 |
-a,–ascii | 不包含 Unicode 字符集支持 |
-d,–debug | 产生 debug 版本的可执行文件 |
-w,–windowed,–noconsolc | 指定程序运行时不显示命令行窗口(仅对 Windows 有效) |
-c,–nowindowed,–console | 指定使用命令行窗口运行程序(仅对 Windows 有效) |
-o DIR,–out=DIR | 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 |
-p DIR,–path=DIR | 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径 |
-n NAME,–name=NAME | 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 |
pyinstaller官方文档: https://pyinstaller.org/en/v6.3.0/