事隔近两个月的时间,又一次在程序打包的问题上困扰了许久。这一次的问题是程序在使用Py2app或Py2exe打包后无法正常显示网页图片(jepg等格式)
首先将大致情况描述一下:
首先将大致情况描述一下:
在实际的操作中,即使将这些程序所需要的plugin全部正确加载到包内&操作系统 : MacOS X 10.6.7/windows 7
编程语言 : PyQt
打包工具 : Py2app/Py2exe
目的简介 : 用PyQt实现类浏览器功能(需要正常显示网页图片)
问题描述 : 程序完成后在debug状态下可以正常显示网页图片,但是使用Py2ap系打包工具打包后无法显示jepg等图片
问题分析 : Qt程序要想正常显示jepg等常用图像格式的文件的话需要调用plugins/imageformats/目录下的plugin。比如MacOS下的话有libqjpeg.dylib等,windows下有qjepg4.dll等。而打包后的程序没有正确调用这些piugin导致无法正常显示网页图片
解决方法 : py2app系的打包工具在打包的时候并不会主动将程序可能用到的plugin打包进去,所以需要在打包前修改setup.py文件,手动添加自己程序所需要的dll。添加方式和一般的资源文件一样。不过接下来麻烦事来了。