在写图片上传的时候,碰到PIL不能处理JPG图片,出现异常
IOError: decoder jpeg not available
The Python Imaging Library , PIL, is a very useful addition to your Python installation if you need to manipulate pictures. Django uses it to validate upload images for example.
On a Mac you do need to install libjpeg beforehand.
Install libjpeg:
-
Get the source: http://www.ijg.org/files/jpegsrc.v6b.tar.gz
-
Extract the archive.
-
Move inside the source directory and execute the following commands:
cp /usr/share/libtool/config.sub . cp /usr/share/libtool/config.guess . ./configure --enable-shared make sudo mkdir -p /usr/local/include sudo mkdir -p /usr/local/bin sudo mkdir -p /usr/local/lib sudo mkdir -p /usr/local/man/man1 sudo make install
Install PIL:
-
Get PIL at: http://effbot.org/downloads/Imaging-1.1.6.tar.gz
-
Extract the archive.
-
Move inside the source directory
-
Change the following values in setup.py from the default
None
to:JPEG_ROOT = "/usr/local/include" ZLIB_ROOT = "/usr/local/include"
-
Check if everything is well configured:
python setup.py build_ext -i python selftest.py
-
If no errors are found and the required libraries are installed (like JPEG support), install PIL:
sudo python setup.py install
And that's it, I've tried this on Mac OS Leopard, and it works fine, let me know how it went for you.