【问题标题】:Py2exe'd Python script cant save image in TIFF formatPy2exe 的 Python 脚本无法以 TIFF 格式保存图像
【发布时间】:2012-05-25 07:20:21
【问题描述】:

我正在处理一个 python 脚本,它处理图像并将其从 GIF 图像转换并保存为扩展名为“.tif”的 TIFF 格式...

脚本运行良好,甚至给了我正确的输出..

但是,当我使用 Py2exe 将其转换为 exe 时(甚至尝试过 Cx-Freeze) 它无法将处理后的图像保存为 TIFF 格式...它会引发以下错误:

文件“PIL\Image.pyc”,第 1423 行,保存 KeyError: '.tif'

保存图片的代码是这样的..

im_orig = Image.open(path1)
big = im_orig.resize((116, 56), Image.NEAREST)
ext = ".tif"
new=path.replace('.','') 
newpath=new+"input-NEAREST"+ext
newimage=big.save(newpath)

我什至尝试将上面的代码更改如下以避免密​​钥错误

im_orig = Image.open(path1)
big = im_orig.resize((116, 56), Image.NEAREST)
new=path.replace('.','') 
newpath=new+"input-NEAREST.tif"
newimage=big.save(newpath, "TIFF" )

当我将其作为脚本运行时,更改后的代码再次运行良好,

但是当我将脚本作为可执行文件运行时抛出错误!

我得到的错误是:

\PIL\Image.py", line 1429, in save
save_handler = SAVE[string.upper(format)] # unknown format
KeyError: 'TIFF'

显然错误应该在这一行:

newimage=big.save(newpath, "TIFF" )

非常感谢您在解决此问题方面的任何帮助或指导。

【问题讨论】:

标签: python python-imaging-library py2exe tiff


【解决方案1】:

我认为这个问题与 PIL 中图像插件的延迟初始化有关。编译后,无法找到这些插件。解决方案是手动导入所需的插件。所以你需要的是

import TiffImagePlugin

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,除了使用 cx_freeze 而不是 py2exe 时。 Raja Selvaraj 的解决方案为我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2018-10-24
      • 2022-12-22
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      相关资源
      最近更新 更多