用PyInstaller打包PyQt程序
在开发Python应用时需要交付客户,可以使用pyinstaller库来打包成exe文件,在用winzip等自解压格式包装成安装文件交付客户,这次记录一下步骤
- 在工程根目录下新建一个打包脚本 packup.py
- 在工程根目录下创建icon图标,mainIcon.ico
比如我的目录结构如下
- 打开packup.py
-
下面来解析每一段的含义
-
首先是这个
还记的第一张图我的工程目录结构吗?这个frame代表是需要打包到安装程序的根目录,也是软件的根目录
-
接下来这个
这个main.py是主入口,最后也会打包成main.exe并赋予图标
- 然后是参数,第一个参数-p 表示项目中涉及依赖的文件或目录的路径,也就是项目需要import 加载到的文件,有时候import写法不能让python解析器关联到,就需要手动设置这一参数
- 然后是项目需要用到但是不需要依赖的,比如一些图片,配置文件等资源文件,使用参数--add-data
多个文件间可以用引号隔开,如/res/jackinfo.png;./
- 最后一个是icon图标,用刚刚创建的图标文件
- 最后传这个opts对象给run函数跑一下
其他可选参数:
-F | -onefile,打包成一个exe文件 |
-D | -onefile,创建一个目录,包含exe文件,但会依赖很多文件(默认选项) |
-c | -console,-nowindowed,使用控制台,无窗口(默认) |
-w | -Windowed,-noconsole,使用窗口,无控制台 |
最后运行packup.py,看一下打包的效果:
可以看到最后的代码和依赖库都打包成了dll文件
完结,转载请注明文章出处
用PyInstaller打包PyQt程序