PIL / JPEG库/帮助!

我试图使用PIL在我的django应用程序与PIL做一些JPEG工作,但我得到这个IOError ..不知道该怎么办。

""decoder jpeg not available"" 

我是否错过了我的服务器上的JPEG解码器? 如果是的话,我该如何解决?

您需要先安装jpeg库并重新安装PIL。 例如,我使用CentOS来安装libjpeg,我运行

 sudo yum install -y libjpeg-devel 

这取决于你使用的是什么样的linux。 在这里你必须删除旧的PIL

 rm -rf /usr/lib/python2.6/site-packages/PIL-1.1.7-py2.6-linux-x86_64.egg/ 

然后安装PIL

 sudo easy_install PIL 

我从作者“edward”find了这个答案

在Ubuntu精确,PIL没有findjpeg库文件,即使一旦安装。 解决这个问题的最简单的方法是在安装了jpeg开发包之后创build一个符号链接。 所以,我需要一个额外的步骤:

为x64操作系统

 pip uninstall PIL sudo apt-get install libjpeg8-dev sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib pip install PIL 

为x32操作系统

 pip uninstall PIL sudo apt-get install libjpeg8-dev sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib pip install PIL 

我确认这在Ubuntu Linux 12.04上适用于我。


如果您是Mac用户,则需要安装Xcode和命令行工具。 阅读如何做到这一点

使用libjpeg安装virtualenv可以find更好的答案

对我来说最后在Ubutu工作的是:

 pip uninstall PIL sudo apt-get install libjpeg8-dev pip install PIL 

Python成像库(PIL)似乎对jpeg库的版本和位置非常挑剔。 而且由于PIL是用C语言编写的,所以除了运行时版本之外,还需要库的开发版本。

我没有sudo权限,因为我在共享的bluehost服务器上。 所以我不能运行任何这些sudo apt-get jpeg命令。 我结束了跑步

 pip uninstall pil pip install pillow 

显然枕头能够find对jpegs的支持。

您的映像安装文件夹中有一个selftest.py,请尝试:

 python selftest.py 

你会看到类似的东西:

 -------------------------------------------------------------------- *** PIL CORE support not installed *** TKINTER support not installed --- JPEG support ok --- ZLIB (PNG/ZIP) support ok *** FREETYPE2 support not installed *** LITTLECMS support not installed -------------------------------------------------------------------- 

如果JPEG支持不可用,Centos:

 yum install libjpeg-devel yum install freetype-devel yum install libpng-devel 

对于mac用户,您可以从这里下载图书馆: http : //ethan.tira-thompson.com/Mac_OS_X_Ports.html 。 然后,卸载并安装PIL

您可以从源代码构buildPIL: http : //effbot.org/zone/pil-decoder-jpeg-not-available.htm

在Debian发行版中,使用libjpeg62-turbo-dev而不是libjpeg8-dev