我正在处理一个python脚本,它处理一个Image并将其从GIF图像转换并保存为TIFF格式,扩展名为“.tif”......
脚本工作正常,甚至可以给我正确的输出..
然而,当我使用Py2exe将其转换为exe时(甚至尝试过Cx-Freeze) 它无法以TIFF格式保存已处理的图像...它会引发以下错误:
文件“PIL \ Image.pyc”,第1423行,保存KeyError:'。tt'
保存图像的代码如下所示..
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" )
非常感谢您解决此问题的任何帮助或指导。
答案 0 :(得分:0)
我认为问题与PIL中图像插件的延迟初始化有关。编译后,它无法找到这些插件。解决方案是手动导入所需的插件。所以你需要的是
import TiffImagePlugin
答案 1 :(得分:0)
我有同样的问题,除了使用cx_freeze而不是py2exe。 Raja Selvaraj的解决方案为我修好了。