0

我已经从源代码构建了 Python 的 PIL 库(由于从安装程序可执行文件安装的版本中存在错误),并且可以在构建计算机上从 jpg 文件创建 Image() 对象,但是当我使用 PyInstaller 打包这个 Python 应用程序时,应用程序是无法打开 JPEG 图像。我没有正确构建 PIL,如PIL encoder jpeg not available中所述,还是有其他问题?

更新:错误消息是“IOError:encoder jpeg not available”。

编辑:从安装程序可执行文件安装的版本的问题(对于版本 1.1.7 和 1.1.6,如果不是更早的版本,也是如此)是它链接到 VC90.DebugCRT 库/程序集,我没有意味着要分发并且 PyInstaller 在我的系统上找不到(尽管有一个版本)。

4

2 回答 2

1

您需要在安装中包含 jpeg 编码器/解码器 dll,否则它将无法在没有它的系统上运行。

我自己还没有尝试过,但是您也可以通过静态链接而不是通过使用 --enable-static 运行配置脚本来做到这一点。

于 2012-05-04T18:23:42.890 回答
0

您有 2 个选择:

  1. 使用来自http://www.pythonware.com/products/pil/的 PIL 预构建二进制文件

  2. 从源代码构建(请注意,在获得 JPEG 支持之前,您必须设置 JPEG 库,这在 Windows 上并不容易)

参考资料(不是解决您的问题所必需的):

请确保安装了 Python 图像库 (PIL) 的分支枕头,支持 ​​JPEG。首次安装枕头时会打印支持的格式。有关如何获得 JPEG 支持的说明是高度特定于平台的,但 PIL 指南也适用于枕头。一般来说,在安装过程中需要确保 libjpeg-dev 已安装并找到

于 2013-07-24T07:47:01.420 回答