首頁  >  文章  >  後端開發  >  詳解python中PIL安裝簡單教程

詳解python中PIL安裝簡單教程

高洛峰
高洛峰原創
2017-03-10 13:51:091809瀏覽

這篇文章主要詳解python中PIL安裝簡單教程,感興趣的小伙伴們可以參考一下

python 的PIL安裝是一件很頭疼的事, 如果你要在python 中使用圖型程式那怕只是將個圖片從二進位流中存盤(例如使用Scrapy 爬網存圖),那麼都會使用到PIL
這庫,而這個庫是出名的難安裝.

#它的表現為,如果你使用Scrapy 的ImagePipeline 它就會默認使用PIL,如果沒有正確安裝圖型解碼器那會都會出現以下的錯誤:

IOError: decoder jpeg not available
在網路上找過很多方法都還是不行,也不明究竟,開始以為是PIL 這個函式庫的安裝有問題,但即使正確安裝了PIL仍然是會出現以上的錯誤.原因就在於解碼器decoder 的問題.

後來找到一個叫Imaging-1.1.7 的包,胡亂地安裝了一下,結果行了就沒有理會. 技術債是始終要還的, 只是沒想到這麼快, 臨近專案發布又在Ubuntu 上遇到同的樣問題了,
直接用這個包,但結果卻...

答案當然是讓人痛苦的, 還是IOError ~

好吧,痛苦的事就讓它過去吧, 經過一番的折騰後最後發現一線曙光, 請留意以下的表信息:

--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version    1.1.7
platform   linux2 2.7.6 (default, Jun 22 2015, 17:58:13)
       [GCC 4.8.2]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------

註: 這個表格是在Imaging 的安裝目錄中用python setup.py build 指令後顯示出來.

如果你看得詳細一點就發現了吧, 對! 所有的圖片解碼都不支持. 問題不是出在PIL上,而是在decoder上. 我之前在OSX上能牛屎地安裝成功一定是之前安裝了這些decoder.

為了讓它的朋友不會再掉入此坑, 特意將安裝方法整理了一下:

#Mac OSX
brew update
brew install libjpeg libpng
裝這兩個就夠了

Ubuntu 14.0.4
sudo apt-get install libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev
Linux 上比較慘一些,要多裝幾個包.

這還不夠的, 最好就直接用Pillow 這個python 包來取代手工下載Imaging這個包吧,直接用以下指令

pip install -I --no-cache-dir -v Pillow
這個指令執行完畢會有一大堆的資訊,不用管它,只要找到以下這個就行了:

--------------------------------------------------------------------
PIL SETUP SUMMARY
--------------------------------------------------------------------
version   Pillow 3.2.0
platform   linux2 2.7.6 (default, Jun 22 2015, 17:58:13)
       [GCC 4.8.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
*** OPENJPEG (JPEG2000) support not available
--- ZLIB (PNG/ZIP) support available
*** LIBTIFF support not available
--- FREETYPE2 support available
*** LITTLECMS2 support not available
*** WEBP support not available
*** WEBPMUX 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.

這下行了! 還有一個小提示: 請留意看上面一行, To check the build, run the selftest.py script. 這個selftest.py 可是個好東東噢.至少可以知道成功沒。

祝大家安裝成功!

以上是詳解python中PIL安裝簡單教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn