用pyinstaller打包PyQt5应用并打包资源文件

2018-12-09
0 评论 2,800 浏览

最近用python做了一个爬虫脚本,但是没有界面。于是利用五一假期的时间把这个小脚本穿了一件衣服(PyQt5),变成了小工具。工具做好了,但是到打包成可执行文件时遇到了许多的问题。特写此博记录此事。

[hermit auto="0" loop="0" unexpand="0" fullheight="0"]netease_songs#:425372124[/hermit]

1.pyinstaller -F -w -i ../icon.ico main.py打包错误

当初好像是说缺少什么东西来着,pip install 安装一下就好了,这里主要就是要看控制台那些霹雳巴拉的log信息。不要一味的去Google,学会自己解决是关键!

2.pyinstaller 无法打包资源文件

这个是关键!当初Google了许久,终于在看到两篇博文后解决。文章最后附上链接地址
spec 文件
spec文件在第一次打包后会自动生成,生成目录在打包的py文件同级目录下,可用记事本或者sublime打开,它的主要作用是告诉installer如何去
处理py文件,将py文件名字和输入的大部分参数进行编码。然后pyinstaller也可以通过执行spec文件来生成可执行文件
当初Google的许多答案都是说在datas后面添加需要打包的文件目录即可,但是事情真的这么简单嘛?不存在的。打包后运行依然没有那些图片素材,没办法,硬着头皮继续找方法的吧。

将图片打包在exe内部调用,首先在sublime或记事本写一个qrc文件,再把qrc转换为py

1.qrc文件:

2.将.qrc转换为.py

pyrcc5 -o images.py images.qrc

3.最后再需要图片的py类中import iamges.py ,然后在代码中调用此图片

:/link/name.png

4.最后再打包编译(pyinstaller Main.spec)一遍,顺利完成,图片素材都正常显示

pyinstaller简明教程

PyQt5总结--打包pyinstaller

评论
发表评论