我已经从源代码构建了Python的PIL库(由于安装程序可执行文件中安装的版本中的错误),并且可以在构建计算机上从jpg文件创建Image()对象,但是当我使用PyInstaller打包这个Python应用程序时,应用程序无法打开JPEG图像。我是否正确地构建了PIL,如PIL encoder jpeg not available所述,或者是其他错误?
更新:错误消息为“IOError:编码器jpeg不可用”。
编辑:从安装程序可执行文件安装的版本的问题(对于版本1.1.7和1.1.6,如果不是早期的版本也是如此)是它链接到VC90.DebugCRT库/程序集,我不知道这意味着要分发,而PyInstaller在我的系统上找不到(虽然有版本)。
答案 0 :(得分:1)
您需要在安装时包含jpeg编码器/解码器dll,否则它将无法在尚未安装它的系统上运行。
我自己没有尝试过,但您也可以通过静态链接来执行此操作,而不是使用--enable-static运行configure脚本。
答案 1 :(得分:0)
您有两个选择:
使用来自http://www.pythonware.com/products/pil/的PIL预建二进制文件
从源代码构建(请注意,在获得JPEG支持之前必须先设置JPEG库,这在Windows上并不容易)
参考文献(不是解决问题所必需的):
请确保安装了支持JPEG图像库(PIL)的支架枕头。首次安装枕头时会打印支持的格式。关于如何获得JPEG支持的说明是高度平台特定的,但PIL的指南也适用于枕头。一般来说,您需要确保在安装期间安装并找到libjpeg-dev 。