1、输入以下命令安装pyinstaller:
pip install pyinstaller
2、使用如下命令进行打包
pyinstaller -F -w ****.py
-F:表示打包一个单个文件,如果你的代码都写在一个.py文件的话,可以使用这个,如果是多个.py文件就别用。
-w:使用Windows系统执行,当程序启动的时候不会打开命令行(只对Windows有效)。
执行完毕命令之后,会在.py文件所在的目录下,生成如下文件和文件夹内容,我们可以在dist目录中找到已经编译好的.exe可执行文件,双击就可以执行。
3、给exe可执行文件添加图标
我们可以在testDemo.spec文件的最后一行,添加如下内容,指定图标的路径。然后使用命令:
pyinstaller TestAdd.spec
也可以在打包的时候直接执行如下命令:
pyinstaller -F -w testDemo.py -i lol.ico -n testDemo
4、包含.ui文件的软件打包
一般我们编写的PyQt5软件都不会把所有的内容写在一个.py文件中的,看过我前几篇和PyQt5相关文章的朋友都知道,一般我们都会将界面ui和逻辑分开,将多个界面和功能的模块分开。
以我之前写的一个Demo程序为例,首先使用QtDesigner设计一个界面,生成xxx.ui文件,使用pyuic5命令生成对应的ui_xxx.py文件,然后编写控制文件Callxxx.py,最后编写启动文件main_xxx.py,这样就形成了多个文件的目录结构。
接下来我们就开始打包这个软件,使用如下命令:
pyinstaller -D -w main_xxx.py
-D:表示打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码。
5、包含QSS文件的软件打包
工程目录中还包含了.qrc资源文件,qss样式表目录和images图片资源目录,这时候我们可以使用如下命令:
pyinstaller -D -w main_xxx.py