PIL在我的系统中支持JPEG。

每当我做一个上传,我的代码失败:

File "PIL/Image.py", line 375, in _getdecoder
    raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available

我该如何解决这个问题?


当前回答

下面是ubuntu 12.04的工作:

pip uninstall PIL
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev
pip install PIL --upgrade

当你看到“——JPEG支持可用”,这意味着它工作。

但是,如果在编辑jpeg图像时它仍然不工作,请检查python路径!! 我的python路径错过了/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64。所以我编辑~/。将以下代码添加到该文件中:

编辑:export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/

然后,终于,它工作了!!

其他回答

在Mac OS X Mavericks(10.9.3)上,我通过以下方法解决了这个问题:

通过brew安装libjpeg(包管理系统)

编译libjpeg

重新安装枕头(我用枕头代替PIL)

pip安装-I枕

这个问题是很久以前发布的,大多数答案也很老了。所以当我花了几个小时试图弄清楚这个问题时,什么都没用,我尝试了这篇文章中的所有建议。

当我试图在我的Django头像表单中上传JPG时,我仍然会得到标准的JPEG错误:

raise IOError("decoder %s not available" % decoder_name)
OSError: decoder jpeg not available

然后我检查了Ubuntu 12.04的存储库,注意到一些额外的libjpeg包。我安装了这些,问题就解决了:

sudo apt-get install libjpeg62 libjpeg62-dev

安装这些程序将删除libjpeg-dev、libjpeg-turbo8-dev和libjpeg8-dev。

希望这对2015年及以后的人们有所帮助!

干杯

下面是ubuntu 12.04的工作:

pip uninstall PIL
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev
pip install PIL --upgrade

当你看到“——JPEG支持可用”,这意味着它工作。

但是,如果在编辑jpeg图像时它仍然不工作,请检查python路径!! 我的python路径错过了/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64。所以我编辑~/。将以下代码添加到该文件中:

编辑:export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/

然后,终于,它工作了!!

apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev

安装这些并确保使用pip安装PIL,因为我从源代码编译了它,由于某种原因它无法工作

对于那些使用Mac OS Mountain Lion的人,我使用zeantsoi的答案,但它不起作用。

我最终得到了这篇文章的解决方案:http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/

现在,我很高兴地运行我的jpeg脚本!