python中PIL安裝簡(jiǎn)單教程
python 的PIL安裝是一件很頭疼的的事, 如果你要在python 中使用圖型程序那怕只是將個(gè)圖片從二進(jìn)制流中存盤(pán)(例如使用Scrapy 爬網(wǎng)存圖),那么都會(huì)使用到 PIL
這庫(kù),而這個(gè)庫(kù)是出名的難安裝.
它的表現(xiàn)為,如果你使用 Scrapy 的ImagePipeline 它就會(huì)默認(rèn)使用PIL,如果沒(méi)有正確安裝圖型解碼器那會(huì)都會(huì)出現(xiàn)以下的錯(cuò)誤:
IOError: decoder jpeg not available
在網(wǎng)上找過(guò)很多方法都還是不行,也不明究竟,開(kāi)始以為是 PIL 這個(gè)庫(kù)的安裝有問(wèn)題,但即使正確安裝了PIL仍然是會(huì)出現(xiàn) 以上的錯(cuò)誤.原因就在于解碼器 decoder 的問(wèn)題.
后來(lái)找到一個(gè)叫 Imaging-1.1.7 的包,胡亂地安裝了一下,結(jié)果行了就沒(méi)有理會(huì). 技術(shù)債是始終要還的, 只是沒(méi)想到這么快, 臨近項(xiàng)目發(fā)布又在 Ubuntu 上遇到同的樣問(wèn)題了,
直接用這個(gè)包,但結(jié)果卻...
答案當(dāng)然是讓人痛苦的, 還是 IOError ~
好吧,痛苦的事就讓它過(guò)去吧, 經(jīng)過(guò)一番的折騰后最后發(fā)現(xiàn)一線曙光, 請(qǐng)留意以下的表信息:
-------------------------------------------------------------------- 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 --------------------------------------------------------------------
注: 這個(gè)表是在 Imaging 的安裝目錄中 用 python setup.py build 指令后顯示出來(lái).
如果你看得詳細(xì)一點(diǎn)就發(fā)現(xiàn)了吧, 對(duì)! 所有的圖片解碼都不支持. 問(wèn)題不是出在PIL上,而是在 decoder上. 我之前在 OSX上能牛屎地安裝成功一定是之前安裝了這些 decoder.
為了讓其它的朋友不會(huì)再掉入此坑, 特意將安裝方法整理了一下:
Mac OSX
brew update
brew install libjpeg libpng
裝這兩個(gè)就夠了
Ubuntu 14.0.4
sudo apt-get install libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev
Linux 上比較慘一些,要多裝幾個(gè)包.
這還不夠的, 最好就直接用 Pillow 這個(gè) python 包來(lái)取代手工下載 Imaging 這個(gè)包吧,直接用以下指令
pip install -I --no-cache-dir -v Pillow
這個(gè)指令執(zhí)行完畢會(huì)有一大堆的信息,不用管它,只要找到以下這個(gè)就行了:
-------------------------------------------------------------------- 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.
這下行了! 還有一個(gè)小提示: 請(qǐng)留意看上面一行, To check the build, run the selftest.py script. 這個(gè)selftest.py 可是個(gè)好東東噢.至少可以知道成功沒(méi)。
祝大家安裝成功!
- Python3中正則模塊re.compile、re.match及re.search函數(shù)用法詳解
- python 3.7.0 下pillow安裝方法
- Python實(shí)現(xiàn)更改圖片尺寸大小的方法(基于Pillow包)
- python正則表達(dá)式re之compile函數(shù)解析
- python通過(guò)pil將圖片轉(zhuǎn)換成黑白效果的方法
- python安裝pil庫(kù)方法及代碼
- python使用pil進(jìn)行圖像處理(等比例壓縮、裁剪)實(shí)例代碼
- python通過(guò)pil為png圖片填充上背景顏色的方法
- Python中請(qǐng)不要再用re.compile了
- Python通過(guò)PIL獲取圖片主要顏色并和顏色庫(kù)進(jìn)行對(duì)比的方法
- Python實(shí)現(xiàn)圖片裁剪的兩種方式(Pillow和OpenCV)
- python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)
- Python的PIL庫(kù)中g(shù)etpixel方法的使用
- Python3安裝Pillow與PIL的方法
- Linux上安裝Python的PIL和Pillow庫(kù)處理圖片的實(shí)例教程
- python實(shí)現(xiàn)通過(guò)pil模塊對(duì)圖片格式進(jìn)行轉(zhuǎn)換的方法
- python使用PIL模塊獲取圖片像素點(diǎn)的方法
- Python圖像處理庫(kù)PIL詳細(xì)使用說(shuō)明
相關(guān)文章
解決import tensorflow導(dǎo)致jupyter內(nèi)核死亡的問(wèn)題
這篇文章主要介紹了解決import tensorflow導(dǎo)致jupyter內(nèi)核死亡的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02java關(guān)于string最常出現(xiàn)的面試題整理
在本篇文章里小編給大家整理的是一篇關(guān)于java關(guān)于string最常出現(xiàn)的面試題整理內(nèi)容,有興趣的朋友們可以參考下。2021-01-01使用pytorch提取卷積神經(jīng)網(wǎng)絡(luò)的特征圖可視化
這篇文章主要給大家介紹了關(guān)于使用pytorch提取卷積神經(jīng)網(wǎng)絡(luò)的特征圖可視化的相關(guān)資料,文中給出了詳細(xì)的思路以及示例代碼,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03Tensorflow2.1實(shí)現(xiàn)文本中情感分類(lèi)實(shí)現(xiàn)解析
這篇文章主要為大家介紹了Tensorflow2.1實(shí)現(xiàn)文本中情感分類(lèi)實(shí)現(xiàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Python?創(chuàng)建或讀取?Excel?文件的操作代碼
Excel是一種常用的電子表格軟件,廣泛應(yīng)用于金融、商業(yè)和教育等領(lǐng)域,本文介紹Python?創(chuàng)建或讀取?Excel?文件的操作代碼,感興趣的朋友一起看看吧2023-09-09使用pycharm設(shè)置控制臺(tái)不換行的操作方法
今天小編就為大家分享一篇使用pycharm設(shè)置控制臺(tái)不換行的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01使用Eclipse如何開(kāi)發(fā)python腳本
這篇文章主要為大家詳細(xì)介紹了使用Eclipse開(kāi)發(fā)python腳本的相關(guān)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04