PIL在我的系統中支持JPEG。Python圖像庫失敗,並顯示消息「解碼器JPEG不可用」 - PIL
每當我做一個上傳,我的代碼與失敗:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
我怎樣才能解決這個問題?
PIL在我的系統中支持JPEG。Python圖像庫失敗,並顯示消息「解碼器JPEG不可用」 - PIL
每當我做一個上傳,我的代碼與失敗:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
我怎樣才能解決這個問題?
libjpeg-dev需要能夠使用pillow(或PIL)處理jpegs,因此您需要安裝它並重新編譯枕頭。這也似乎中的libjpeg8-dev爲14.04
如果你還在使用PIL,那麼你真的應該使用枕頭,雖然這些天,所以首先pip uninstall PIL
以下說明切換前需要在Ubuntu,或者如果你有一個很好的堅持PIL的原因,然後用下面的「PIL」替換「枕頭」)。
在Ubuntu:
# install libjpeg-dev with apt
sudo apt-get install libjpeg-dev
# if you're on Ubuntu 14.04, also install this
sudo apt-get install libjpeg8-dev
# reinstall pillow
pip install --no-cache-dir -I pillow
如果還是不行,請嘗試以下之一,這取決於你是否是在64位或32位的Ubuntu。
對於Ubuntu的64:
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib
或者對Ubuntu 32位:
sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/
sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/
然後重新安裝枕頭:
pip install --no-cache-dir -I pillow
(編輯從意見包括反饋感謝查爾斯·奧芬巴赫的指出這與32位不同,而t-mart建議使用--no-cache-dir
)。
問題是我有兩個python軟件包。一個與Ubuntu和另一個屬於Zope服務器。不知何故,該庫已損壞,因爲我錯誤地將它安裝在錯誤的軟件包中。否則,沒有問題。 – Ravi 2012-04-26 12:23:21
關於符號鏈接的第二點在這個問題上爲我工作......謝謝! – 2013-01-09 11:26:58
爲了記錄,這隻適用於x86_64,我必須運行: sudo ln -s /usr/lib/i386-linux-gnu/libz.so/usr/lib /; sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6/usr/lib /; sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so/usr/lib/ – 2013-02-02 02:59:54
對於那些在OSX,我用下面的二進制得到的libpng和libjpeg的安裝系統範圍:因爲我已經安裝了PIL(通過PIP上的virtualenv)
,我跑:
pip uninstall PIL
pip install PIL --upgrade
這解決了我的decoder JPEG not available
錯誤。
UPDATE(14年4月24日):PIP的
新版本需要附加標誌從外部來源下載庫(包括PIL)。請嘗試以下操作:
pip install PIL --allow-external PIL --allow-unverified PIL
欲瞭解更多信息如下回答:pip install PIL dont install into virtualenv
更新2:
如果在OSX小牛,你要設置ARCHFLAGS
標誌爲@RicardoGonzales comments below:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install PIL --allow-external PIL --allow-unverified PIL
它沒有爲我工作 – FRD 2012-11-28 20:06:06
謝謝,這對我很好,在10.8.2(山獅) – Aea 2013-01-08 01:56:14
如果安裝後不起作用,嘗試重新啓動。 – danielcorreia 2013-01-21 12:28:41
在Fedora 17上,我不得不安裝libjpeg-devel
事後重新安裝PIL
:
sudo yum install --assumeyes libjpeg-devel
sudo pip-python install --upgrade PIL
RHEL/CentOS也是如此。 – 2014-10-27 02:02:22
首先,我不得不刪除蟒蛇文件夾的隱藏文件夾的用戶/應用程序數據(這是創造出巨大的頭痛),除了卸載Python的。然後我安裝WinPython分佈:http://code.google.com/p/winpython/其中包括PIL
windows下的Python開發很痛苦。我建議不要。 – eviltnan 2013-07-24 09:05:35
的後跟在Ubuntu 12.04的作品:
pip uninstall PIL
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev
pip install PIL --upgrade
,當你看到 「 - JPEG支持WebM」,這意味着它的作品。
但是,如果編輯jpeg圖像時仍不起作用,請檢查python路徑! 我的Python路徑錯過/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
,所以我編輯~/.bashrc
下面的代碼添加到該文件:
編輯:export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
然後,最後,它的作品!
嗨,我想我有一個python路徑不工作的問題,因爲安裝PIL統計--JPEG支持IS可用。然而,實際上使用.jpeg圖像進行選擇會導致解碼器jpeg錯誤。 http://stackoverflow.com/questions/18504835/pil-decoder-jpeg-not-available-on-ubuntu-x64 – 2013-08-29 11:20:30
謝謝你。這對Ubuntu 12.04 – 2013-12-19 21:21:34
工作現在在我的Ubuntu 12很好地工作。 – keni 2014-03-26 08:20:53
這是爲我工作的唯一方法。安裝軟件包並重新安裝PIL不起作用。
在Ubuntu上,安裝所需的軟件包:
sudo apt-get install libjpeg-dev
(您可能還需要安裝libfreetype6 libfreetype6-dev zlib1g-dev
使其他解碼器)。
然後用枕頭代替PIL:
pip uninstall PIL
pip install pillow
我前段時間做過這個,今天突然又出現了錯誤。升級枕頭解決了問題:'安裝枕頭 - 升級'。 – 2015-08-11 14:29:48
對於那些在Mac OS美洲獅,我也跟着zeantsoi的anwser,但它不工作。
我終於結束了這一職位的解決方案:http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
現在,我高興地跑我的劇本爲JPEG!
這裏同樣的問題,JPEG support available
,但仍然得到IOError: decoder/encoder jpeg not available
,除了我使用枕頭而不是PIL。
我嘗試了所有的上述多,但許多小時後,我意識到,使用sudo pip install
並不如我所料與virtualenv
工作,在組合。傻我。
使用sudo
在新shell 有效的啓動命令(我的這種理解可能不完全正確)在virtualenv中沒有被激活,這意味着該軟件包將被安裝在全局環境來代替。 (這搞砸了,我想我有2個不同的安裝枕頭。)
我清理了一些東西,把用戶改爲root並重新安裝在virtualenv中,現在它工作。
希望這會幫助別人!
Yeppers也是我的問題 – 2015-04-15 01:15:55
我太新手評論zeantsoi職務;(。所以在這裏他什麼,我需要做對OSX上求解10.9.1
IOError: decoder jpeg not available
1)安裝的Xcode工具(打開你的終端並執行:xcode-select --install
) - 取自此信息:http://ethan.tira-thompson.com/Mac_OS_X_Ports.html
2)從這個鏈接的libpng安裝的libjpeg和包(組合安裝程序)
3)重啓(不知道它是強制性的)
4),因爲我最初安裝PIL具有發行前)
希望這有助於和唐與運行pip install -I PIL
重新安裝PIL( 「T迷惑更多...
_oho
在Mac OS X小牛(10.9.3),我做的解決了這個如下:
通過釀造(包管理系統)安裝的libjpeg
brew install libjpeg
重新安裝枕頭(我用枕頭代替PIL)
pip install -I pillow
這可能是由於我安裝brew的一個單獨的問題,但是我必須在安裝Pillow之前先'brew unlink jpeg && brew link jpeg'。 – Lucas 2014-06-17 17:50:37
我已經使用Pillow
,並得到了同樣的錯誤。 按照其他人的建議,嘗試安裝libjpeg
或libjpeg-dev
,但被告知已安裝(更新版本)版本。
在年底時採取了重新安裝Pillow
:
sudo pip uninstall Pillow
sudo pip install Pillow
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev
安裝這些,並確保與PIP安裝PIL因爲我是從源出於某種原因沒有工作
編譯它所有必需的[依賴關係]列表(https://pillow.readthedocs.org/en/latest/installation.html#linux-installation)。 – Paolo 2015-07-06 09:12:43
這個問題已發佈不久前,大多數答案也很舊。所以當我花了數小時試圖解決這個問題,沒有任何工作,我試着在這篇文章中的所有建議。
試圖在我的Django的化身形式上傳JPG時,我仍然得到標準的JPEG錯誤:
raise IOError("decoder %s not available" % decoder_name)
OSError: decoder jpeg not available
然後我檢查了倉庫的Ubuntu 12.04,發現一些額外的包libjpeg
。我安裝了這些,我的問題解決了:
sudo apt-get install libjpeg62 libjpeg62-dev
安裝這些去除libjpeg-dev
,libjpeg-turbo8-dev
和libjpeg8-dev
。
希望這有助於在2015年和其他人!
乾杯
羅洛的答案是優秀的,但我不得不繞過PIP緩存(PIP與7中引入),否則將無法得到適當的重新編譯重新安裝枕頭! 的命令是:
pip install -I --no-cache-dir -v Pillow
,你可以看到,如果枕頭已經在日誌中這樣讀正確配置:
PIL SETUP SUMMARY
--------------------------------------------------------------------
version Pillow 2.8.2
platform linux 3.4.3 (default, May 25 2015, 15:44:26)
[GCC 4.8.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
*** OPENJPEG (JPEG2000) support not available
--- ZLIB (PNG/ZIP) support available
--- LIBTIFF support available
--- FREETYPE2 support available
*** LITTLECMS2 support not available
*** WEBP support not available
*** WEBPMUX support not available
--------------------------------------------------------------------
,你可以看到JPG,TIFF的支持等是啓用,因爲我以前通過apt(的libjpeg-dev的填實:libpng12-dev的libfreetype6-dev的的libtiff-dev的)
於Fedora
0123安裝所需的庫安裝先決條件
sudo dnf install make automake gcc gcc-c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel
現在安裝枕頭
sudo pip install pillow
注 - 有關的libjpeg和zlib我們在Fedora的/ CentOS的安裝的libjpeg-devel的和的zlib-devel的包/紅帽
這是一個有效的問題。 PIL是一個着名的Python庫,它在一些Linux系統中給出了一個奇怪的錯誤。這個問題和答案只是幫助我。這是一個典型的SO問題。 – neves 2013-10-09 23:19:41
我的PRAGMATIST和OCD表示它屬於ServerFault,而不屬於SO。但有多少程序員遇到這個問題?我投票將問題移至ServerFault,並在SO上留下重定向。 – FlipMcF 2013-11-14 22:44:23
好的,很好。我編輯了這個問題以適應SO的規則。希望@ravi不介意編輯。 – FlipMcF 2013-11-14 22:57:36