PIL在我的系统中支持JPEG。
每当我做一个上传,我的代码失败:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
我该如何解决这个问题?
PIL在我的系统中支持JPEG。
每当我做一个上传,我的代码失败:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
我该如何解决这个问题?
当前回答
这个问题是很久以前发布的,大多数答案也很老了。所以当我花了几个小时试图弄清楚这个问题时,什么都没用,我尝试了这篇文章中的所有建议。
当我试图在我的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年及以后的人们有所帮助!
干杯
其他回答
对于Fedora
安装先决条件 Sudo DNF install make automake GCC GCC -c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel 现在安装Pillow
Sudo PIP安装枕头
注意:对于libjpeg和zlib,我们将在Fedora/CentOS/Red Hat中安装libjpeg-devel和zlib-devel包
在Fedora 17上,我必须安装libjpeg-devel,然后重新安装PIL:
sudo yum install --assumeyes libjpeg-devel
sudo pip-python install --upgrade PIL
同样的问题在这里,JPEG支持可用,但仍然得到IOError:解码器/编码器JPEG不可用,除了我使用枕头而不是PIL。
我尝试了以上所有方法和更多方法,但经过几个小时后,我意识到使用sudo pip install与virtualenv结合使用并不能像我预期的那样工作。愚蠢的我。
使用sudo可以有效地在新shell中启动命令(我对这一点的理解可能不完全正确),其中virtualenv未被激活,这意味着包将被安装在全局环境中。(这把事情搞砸了,我想我有2个不同的枕头安装。)
我清理了一些东西,将用户改为root并重新安装在virtualenv中,现在它可以工作了。 希望这能帮助到一些人!
我已经在使用Pillow,得到了同样的错误。 尝试按照其他人的建议安装libjpeg或libjpeg-dev,但被告知已经安装了(更新的)版本。
最后只需要重新安装Pillow:
sudo pip uninstall Pillow
sudo pip install Pillow
这个问题是很久以前发布的,大多数答案也很老了。所以当我花了几个小时试图弄清楚这个问题时,什么都没用,我尝试了这篇文章中的所有建议。
当我试图在我的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年及以后的人们有所帮助!
干杯