Python PyInstaller安装和使用教程(详解版)
安装 PyInstalle
Python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块。
安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装即可。在命令行输入如下命令:
pip install pyinstaller
强烈建议使用 pip 在线安装的方式来安装 PyInstaller 模块,不要使用离线包的方式来安装,因为 PyInstaller 模块还依赖其他模块,pip 在安装 PyInstaller 模块时会先安装它的依赖模块。
运行上面命令,应该看到如下输出结果:
Successfully installed pyinstaller-x.x.x
其中的 x.x.x 代表 PyInstaller 的版本。
在 PyInstaller 模块安装成功之后,在 Python 的安装目录下的 Scripts(D:\Python\Python36\Scripts) 目录下会增加一个 pyinstaller.exe 程序,接下来就可以使用该工具将 Python 程序生成 EXE 程序了。
PyInstaller生成可执行程序的命令语法如下:
pyinstaller -F -w xxx.py
栗子:【以windows 为例子】
在D:\mywork\app 是我们写的app.py代码文件
命令行执行:在这里插入代码片
cd D:\mywork\app
pyinstaller -F -w app.py
在上面命令中使用了-F 选项,该选项指定生成单独的 EXE 文件,因此,在 dist 目录下生成了一个单独的 app.exe 文件(在 Mac OS X 平台上生成的文件就叫 app,没有后缀);与 -F 选项对应的是 -D 选项(默认选项),该选项指定生成一个目录(包含多个文件)来作为程序。
PyInstaller 不仅支持 -F、-D 选项,而且也支持如表 1 所示的常用选项。
表 1 PyInstaller 支持的常用选项
-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 的名字
-i 指定应用的图标,后面可选(.ico文件),(exe文件,ID),从exe中提取ID为的图标。(文件.icns):将图标应用于Mac OS X上的.app捆绑包
--add-data 添加数据文件,【这个下面详细介绍】
如果我的程序用到一些图片文件或其他说明文件,png,txt,html…
还是D:\mywork\app这个文件夹,app文件夹下有个icons文件夹,包含着我需要用到的图片文件,1.png,2.png…
我需要打包的时候把这个文件夹也打包进去那么久用到下面的命令
pyinstaller -w --add-data icons/*.png;aaa app.py
注意 这里面没有-F了!,单文件的模式不会打包数据文件,这个是为什么我也不清楚,没有找到相关文档,如果你就硬皮,就想用-F 我这边建议你把资源文件复制到打包后的目录下
这里在讲一下–add-data后面的参数是什么意思,这个分号;前面是文件路径,后面是我打包后的根目录下的文件夹名。上面的这行命令会把icons下的所有png文件打包到打包目录下的aaa文件夹下。
linux/mac下这个分号应该是冒号:。这个我没有试过!