1. 程式人生 > >Python Imaging Library (PIL) v.1.1.7 全平臺安裝指南

Python Imaging Library (PIL) v.1.1.7 全平臺安裝指南

PIL使你的Python直譯器具有強大的影象處理功能,同時本庫支援多種檔案格式。

  1. 極簡安裝:

$ tar xvfz Imaging-1.1.7.tar.gz
$ cd Imaging-1.1.7
$ Python setup.py install

指令的解釋見下文

  1. 安裝要求

如果需要實現以下功能,請確保在安裝PIL庫以前搭建好相關的庫

功能 需要的庫
jpeg支援 libjpeg (6a or 6b) http://www.ijg.org
http://www.ijg.org/files/jpegsrc.v6b.tar.gz ftp://ftp.uu.net/graphics/jpeg
PNG支援 zlib (推薦v1.2.3及以後的版本) http://www.gzip.org/zlib/
OpenType/TrueType支援 freetype2 (推薦v2.3.9及以後的版本) http://www.freetype.org http://freetype.sourceforge.net
CMS support支援 littleCMS (推薦v1.1.5及以後的版本)
http://www.littlecms.com/

如果你使用的是較新的Linux版本,系統提供的庫則滿足上述功能的要求。
如果缺少庫,安裝devel版本會更簡便。
比如在Ubuntu 9.10(karmic)下,可以安裝下面的庫:

$ sudo apt-get install libjpeg62-dev
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install libfreetype6-dev
$ sudo apt-get install liblcms1-dev

如果使用Mac OS X系統,可以使用fink工具來安裝缺少的庫(參見下方Mac OS X部分)

許多其他平臺也有類似的工具。

  1. 在Python 1.5.2版本下搭建PIL需要另外安裝distutils庫

distuils庫:
http://www.Python.org/sigs/distutils-sig/download.html

distutils 1.0.2 可以從Python資源存放處中獲取:

svn export http://svn.Python.org/projects/Python/tags/Distutils-1_0_2/Lib/distutils/

在更新版本的Python內,distuitils庫已經包含在了Python標準庫中

注: PIL 1.1.7版本和Python 1.5.2版本
不完全相容。部分PIL庫最新的增加內容也許無法正常工作,但是核心功能是正常的。

  1. 如果Python不從源下載的

確保計算機內有Python的搭建支援檔案。如果你已下載了預建包(比如Linux RPM),你也許會需要額外的開發者包——”Python-dev”,”Python-devel”或其他類似的包。在Ubuntu 9.10(karmic)下,可以使用以下指令:確保計算機內有Python的搭建支援檔案。如果你已下載了預建包(比如Linux RPM),你也許會需要額外的開發者包——”Python-dev”,”Python-devel”或其他類似的包。在Ubuntu 9.10(karmic)下,可以使用以下指令:

sudo apt-get install Python-dev
  1. 解壓檔案 Imaging-1.1.7.tar.gz至合適路徑

$ cd MyExtensions #example
$ gunzip Imaging-1.1.7.tar.gz
$ tar xvf Imaging-1.1.7.tar 
  1. 搭建庫

我們推薦在Python目錄內搭建,並且在安裝前進行自我檢測。我們推薦在Python目錄內搭建,並且在安裝前進行自我檢測。

$ cd Imaging-1.1.7
$ Python setup.py build-ext -i
$ Python selftest.py

在搭建期間,setup.py會顯示含有所有檢測到的外部內容的報告。selftest.py則會顯示檢測到的在實際搭建檔案中外部內容的報告。

    ————————————————————————————————
    PIL 1.1.7 SETUP SUMMARY
    ————————————————————————————————
    * TKINTER support not available (Tcl/Tk 8.5 libraries needed)
    — JPEG support available
    — ZLIB (PNG/ZIP) support available
    — FREETYPE support available
    ————————————————————————————————

確保選裝的部分已經包含在其中。
如果在搭建指令碼的時候找不到選中的部分,可以編輯setup.py檔案,設定一個適當的root變數。更多細節見“指令”部分。
如果搭建指令碼找到了這部分,但是檢測的時候沒有識別出來,可以嘗試重建all模組:

$ Python setup.py clean
$ Python setup.py build_ext -i
  1. 搭建PIL庫
    若setup.py和selftest.py指令可以正常執行,接下來可以搭建PIL庫了:若setup.py和selftest.py指令可以正常執行,接下來可以搭建PIL庫了:
$ Python setup.py install 

Python的安裝環境不同,安裝的方式也不同,有的可能需要先登入為超許可權賬戶然後進行安裝指令,有的需要用sudo指令執行安裝。

另注:

  • Mac OS X: 使用者通常需要通過fink工具安裝額外的軟體,比如libjpeg或者是freetype,其後綴為”./sw”。如果使用者已經在別處安裝過本庫,在搭建本庫以前也許需要對setup.py進行調整。
  • Windows:為了讓setup.py檔案檢測到第三方庫,需要調整setup.py裡的ROOT設定。更多詳情請見該檔案內的註釋。請確保將與Python直譯器相同的執行連線設定用於搭建PIL庫和其他第三方庫。(/MD, 在Visual Studio內)
    大部分Windows的Python發行版本都包括了為微軟Visual Studio編譯的庫。
    免費特快版本的VS獲取連結:
    http://www.microsoft.com/Express/
    使用其他的工具搭建拓展,請見distuitils手冊“在Windows上使用非微軟編譯器”部分:http://www.Python.org/doc/current/inst/non-ms-comPILers.html
    更多有關如何使用MinGW編譯器搭建拓展的資訊,請見:
    http://mingw.org (comPILer)
    http://sebsauvage.net/Python/mingw.html (build instructions)
    http://sourceforge.net/projects/gnuwin32 (prebuilt libraries)