【问题标题】:PIL and JPEG library on WindowsWindows 上的 PIL 和 JPEG 库
【发布时间】:2012-05-14 07:04:44
【问题描述】:

我已经从源代码构建了 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 库/程序集,我没有't 是为了分发而 PyInstaller 在我的系统上找不到的(尽管有一个版本)。

【问题讨论】:

    标签: python windows jpeg python-imaging-library


    【解决方案1】:

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

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

    【讨论】:

    • +1 谢谢。因为我不知道我不应该将 jpeg 库与 PIL 链接,这将更有意义将 jpeg 库与 PyInstaller 构建捆绑在一起,我不会接受这个答案。我不相信 PyInstaller 有配置脚本,而且 PyInstaller 的 setup.py 不带 --enable-static 参数。也许你建议我为 PIL 的配置脚本提供 --enable-static。
    【解决方案2】:

    你有两个选择:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-12
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多