PIL/JPEG库:“解码器JPEG不可用”

2024-04-29 06:30:06 发布

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

我试着用PIL在我的django应用程序中用PIL做一些JPEG工作,但是我得到了这个IOError。。不知道该怎么办。

""decoder jpeg not available""

我是否丢失了服务器上的JPEG解码器?如果是,我该怎么解决?


Tags: django服务器应用程序pilnot解码器jpegavailable
3条回答

我从作者“爱德华”那里找到了这个答案

在Ubuntu precise上,PIL找不到jpeg库文件,即使安装了它们。解决这个问题的最简单方法是在安装了jpeg dev包之后创建一个符号链接。所以,我需要一个额外的步骤:

对于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和命令行工具。Read how to do this

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

sudo yum install -y libjpeg-devel

这取决于您使用的是哪种linux。在这里你得把旧的毛去掉

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

然后安装PIL

sudo easy_install PIL

一个更有力的答案可以在install pil on virtualenv with libjpeg找到

对我来说,乌布图的最终成果是:

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

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

相关问题 更多 >