天天看點

PIL安裝記錄,編譯支援jpeg png

PIL是python理想的圖檔處理module,但是想要良好的支援各種圖檔,還需要檢查一下幾步,否則會提示:IOError: decoder jpeg not available之類的。

我的環境:Linux mint 11 amd64 / Python2.7

第一步:安裝zlib png freetype   jpeg

  • install zlib (ubuntu 官方源沒有zlib,别想apt-get了)

      下載下傳zlib,(zlib.net已牆,可以去SF.net),url: http://sourceforge.net/projects/libpng/files/zlib/1.2.5/zlib-1.2.5.tar.gz/download?use_mirror=superb-dca2

      shell:

$ tar -xvzf zlib-1.2.5.tar.gz

$ cd zlib-1.2.5

$ ./configure --prefix=/usr/local

$ make

$ sudo make install

  • install png(忘記apt-get吧)

shell: $ wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.6.tar.gz (如果檔案不存在就浏覽 /src/目錄查找一下最新版)

$ tar -xvzf libpng-1.5.6.tar.gz

$ cd libpng-1.5.6

$ ./configure --prefix=/usr/local

$ make

$ sudo make install  

  • install freetype (忘記apt-get吧)

     shell:

$ wget http://nchc.dl.sourceforge.net/project/freetype/freetype2/2.4.7/freetype-2.4.7.tar.gz

$ tar -xvzf freetype-2.4.7.tar.gz

$ cd freetype-2.4.7/

$ ./configure --prefix=/usr/local

$ make

$ make install  

  • install jpeg (忘記apt-get吧)

    shell:

$ wget http://www.ijg.org/files/jpegsrc.v8c.tar.gz

$ tar -xvzf jpegsrc.v8c.tar.gz

$ cd jpeg-8c/

$ ./configure --prefix=/usr/local

$ make

$ sudo make install  

第二步:安裝需要的 devel庫(現在是想起apt-get的時候了)

shell: $ sudo apt-get install libjpeg8-dev

$ sudo apt-get install libpng12-dev

$ sudo apt-get install libfreetype6-dev

$ sudo apt-get install zlib1g-dev

第三步:安裝 PIL( Python Imaging Library )

shell 寫道 $ wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz

$ tar -xvzf Imaging-1.1.7.tar.gz

$ cd Imaging-1.1.7/

修改setup.py檔案: $ nano setup.py

修改如下:

JPEG_ROOT = "/usr/local/lib"

ZLIB_ROOT = "/usr/local/lib"

FREETYPE_ROOT = "/usr/local/lib"

   檢查是否支援:

$ python setup.py build_ext -i

running build_ext

--------------------------------------------------------------------

PIL 1.1.7 SETUP SUMMARY

--------------------------------------------------------------------

version 1.1.7

platform linux2 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)

[GCC 4.5.2]

--------------------------------------------------------------------

*** TKINTER support not available

--- JPEG support available         -----------------------> OK!

--- ZLIB (PNG/ZIP) support available -----------------------> OK!

--- FREETYPE2 support available ----------------------->  OK!

*** LITTLECMS support not available

--------------------------------------------------------------------

To add a missing option, make sure you have the required

library, and set the corresponding ROOT variable in the

setup.py script.

To check the build, run the selftest.py script.

   正式安裝:

$ python setup.py build

$ sudo python setup.py install

最後一步:驗證

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import Image
picPath = '~/images/1212.jpg'

im = Image.open(picPath)
print im.getbbox()
           

輸出結果圖檔尺寸: (0, 0, 600, 715)  

yeah,搞定!