pyinstaller 打包exe 遇到的坑
使用pyqt5 + python编写的GUI程序:
1.使用了多线程QThread:
问题:本地调试没有问题,打包exe后运行,出现QThread:destroyed while thread is still running错误
解决:在使用线程类时,加上self。 或者 把线程类实例化在main入口,就不用加self。
2.pyinstaller打包没有带上程序使用的静态资源
问题:运行时找不到静态文件,图片等
解决:使用pyinstaller 打包时,会自动生成配置文件***.spec(用命令生成:pyi-makespec ***.py)。 修改配置文件中的datas参数。配置上静态资源目录res,如:("res","res")
然后使用pyinstaller ***.spec 打包。
另:如果多次重复打包出现问题,删除build,dist文件夹,重新打包
3.打包后的exe文件图标不显示问题
问题:pyinstaller -i icon.ico ***.py 打包完后发现程序图标没有显示。
解决:把icon.ico 文件的显示分辨率格式化一下,在线制作ico的网站,格式化为64*64 128*128,32*32 等
鸡肉是我的最爱!