PIL不是有效数量的量化表。应该在2到4之间

2024-09-30 14:28:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我的PIL库可以正常工作一段时间,但现在我在任何地方都会遇到这个异常,如何修复它?在

f = "/media/bighdd/1.jpg"
from PIL import Image
im = Image.open(f)
im.thumbnail('50x50')
im.save('/media/bighdd/2.jpg')

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1437, in save
    save_handler(self, fp, filename)
  File "/usr/local/lib/python2.7/dist-packages/PIL/JpegImagePlugin.py", line 471, in _save
    ImageFile._save(im, fp, [("jpeg", (0,0)+im.size, 0, rawmode)])
  File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFile.py", line 494, in _save
    for e, b, o, a in tile:
ValueError: Not a valid numbers of quantization tables. Should be between 2 and 4.

Tags: inpyimagepilsavelibpackagesusr
2条回答

请检查是否以这种方式导入图像:

from PIL import Image

在我的代码中

^{pr2}$

这个小小的改变让事情变得顺利

您使用的是virtualenv?在我的例子中,错误出现在sorl库中,get_thumbnail方法调用中。因此,我不应该在库中更改代码,这是一种不好的做法。我发现sorl使用的是安装在我的网络托管提供商系统中的PIL库,而不是我的virtualenv中的库。因此,我将我的virtualenv的site packages文件夹(通常以"/home/user/.virtualenvs/virtualenv-name/lib/python2.7/site-packages"的形式)添加到sys.path的开头,问题就解决了,因为安装在virtualenv中的PIL和{}的版本比系统中安装的版本更新,并解决了这个问题。我希望这能有用!在

相关问题 更多 >