保存裁剪图像时出现奇怪的枕头异常

时间:2015-06-04 18:47:06

标签: python python-2.7 python-imaging-library

我们有以下代码:

img = Image.open(FileSystemStorage().path(relpath))

coords = [
          cd['crop_start_x'],
          cd['crop_start_y'],
          cd['crop_end_x'],
          cd['crop_end_y']   
          ]

cropped_img = img.crop(coords)
cropped_path = "%s-cropped%s" % os.path.splitext(relpath)
tasks.delete_temporary_file.delay(fss.path(relpath))
cropped_img.save(fss.path(cropped_path))

当试图保存裁剪的图像时,我们得到一个奇怪的"不是有效数量的量化表。应介于1和4之间。"例外,只是在我们的一个环境中。 最奇怪的是,即使裁剪或图像没有改变,代码也可能有时

有人对此有过领导吗?

我们正在使用Pillow 2.8.1,python 2.7.6和Ubuntu server 12.04

1 个答案:

答案 0 :(得分:3)

基本上,问题源于其中一个应用服务器中的冲突PIL安装。它很难找到,因为它们隐藏在负载均衡器后面,所以错误会突然出现

当我们在控制台上发布pip freeze时,我们发现在其中一台服务器中我们安装了PIL和Pillow。

删除它们并重新安装Pillow后,我们解决了这个问题。

只是说清楚:

pip uninstall PIL
pip uninstall Pillow
pip install Pillow

然后,只需重新启动Web服务器。

正如其他人所说,另一个可能的原因是使用:

import Image

该声明仅适用于PIL,应避免使用。 我们应该总是使用:

from PIL import Image