Python Image Library가 "디코더 JPEG를 사용할 수 없음"메시지와 함께 실패 함
PIL은 내 시스템에서 JPEG를 지원합니다.
업로드 할 때마다 코드가 실패합니다.
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
이 문제를 어떻게 해결할 수 있습니까?
libjpeg-dev는 베개 (또는 PIL)로 jpeg를 처리 할 수 있어야하므로이를 설치 한 다음 베개를 다시 컴파일해야합니다. 또한 libjpeg8-dev가 Ubuntu 14.04에 필요한 것 같습니다
그래도 여전히 PIL을 사용하고 있다면 요즘 베개를 사용해야합니다. 먼저이 pip uninstall PIL
지침을 따르기 전에 전환하거나 PIL을 고수 해야하는 이유가 있다면 아래의 "pillow"를 "PIL"로 바꾸십시오. ).
우분투에서 :
# 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 비트 우분투에 있는지 여부에 따라 아래 중 하나를 시도하십시오.
우분투 x64의 경우 :
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
또는 우분투 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 비트에서는 찰스 오펜 바커 (Charles Offenbacher)에게 감사의 말을 전한다 --no-cache-dir
.
OSX 사용자는 다음 바이너리를 사용하여 시스템 전체에 libpng 및 libjpeg를 설치했습니다.
PIL이 이미 설치되어 있기 때문에 (virtuenv에서 pip를 통해) 다음을 실행했습니다.
pip uninstall PIL
pip install PIL --upgrade
이것은 decoder JPEG not available
나를 위해 오류를 해결했습니다 .
업데이트 (4/24/14) :
최신 버전의 pip는 외부 소스에서 라이브러리 (PIL 포함)를 다운로드하려면 추가 플래그가 필요합니다. 다음을 시도하십시오 :
pip install PIL --allow-external PIL --allow-unverified PIL
추가 정보는 다음 답변을 참조하십시오. pip install PIL dont virtualenv에 설치하지 마십시오
업데이트 2 :
OSX Mavericks에서 ARCHFLAGS
플래그를 아래 @RicardoGonzales 의견 으로 설정하려고 합니다 .
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install PIL --allow-external PIL --allow-unverified PIL
이것이 나를 위해 일한 유일한 방법입니다. 패키지 설치 및 PIL 재설치가 작동하지 않았습니다.
우분투에서 필요한 패키지를 설치하십시오 :
sudo apt-get install libjpeg-dev
( libfreetype6 libfreetype6-dev zlib1g-dev
다른 디코더를 활성화 하기 위해 설치할 수도 있습니다 ).
그런 다음 PIL을 베개로 교체하십시오.
pip uninstall PIL
pip install pillow
다음은 우분투 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 지원 사용 가능"이라는 메시지가 표시되면 작동합니다.
그러나 JPEG 이미지를 편집 할 때 여전히 작동하지 않으면 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/
그런 다음 마침내 작동합니다!
Fedora 17에서는 설치 한 libjpeg-devel
후 다시 설치해야 했습니다 PIL
.
sudo yum install --assumeyes libjpeg-devel
sudo pip-python install --upgrade PIL
Rolo의 대답은 훌륭하지만 pip 캐시 (pip 7에 도입)를 우회하여 Pillow를 다시 설치해야했습니다. 그렇지 않으면 제대로 다시 컴파일되지 않습니다! 명령은 다음과 같습니다.
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
--------------------------------------------------------------------
이전에 apt (libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev)를 통해 필요한 라이브러리를 설치했기 때문에 jpg, tiff 등의 지원이 활성화되어 있습니다.
Mac OS X Mavericks (10.9.3)에서는 다음을 수행하여이 문제를 해결했습니다.
추출 (패키지 관리 시스템)로 libjpeg 설치
brew install libjpeg
베개 재설치 (PIL 대신 베개 사용)
핍 설치-베개
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev
이것을 설치하고 소스에서 컴파일했기 때문에 pip로 PIL을 설치해야하며 어떤 이유로 든 작동하지 않습니다.
나는 이미 사용 Pillow
하고 있었고 같은 오류가 발생했습니다. 설치를 시도 libjpeg
했거나 libjpeg-dev
다른 사람들이 제안한대로 (최신) 버전이 이미 설치되어 있다는 메시지가 표시되었습니다.
결국 모든 것이 재설치되었습니다 Pillow
.
sudo pip uninstall Pillow
sudo pip install Pillow
나는 zeantsoi post를 언급하기에는 너무 초보자입니다. (. 그래서 여기 10.9.1에서 OSX에서 해결하기 위해해야했던 그의 작업은
IOError : 디코더 JPEG를 사용할 수 없습니다
1) Xcode 도구 설치 (터미널을 열고 실행 : xcode-select --install
)-이 게시물에서 가져옵니다 : Mac OS X 10.9 후에 PIL을 설치할 수 없습니다
2) 다음 링크에서 libpng 및 libjpeg 패키지 (콤보 설치 프로그램)를 설치하십시오. http://ethan.tira-thompson.com/Mac_OS_X_Ports.html
3) 재부팅 (필수인지 확실하지 않음)
4) 실행으로 PIL 을 다시 설치pip install -I PIL
하십시오 (문제가 발생하기 전에 PIL을 처음 설치 했으므로)
이 도움을 희망하고 더 혼동하지 마십시오 ...
_oho
이 질문은 꽤 오래 전에 게시되었으며 대부분의 답변도 꽤 오래되었습니다. 그래서 이것을 알아 내려고 몇 시간을 보냈을 때 아무것도 효과가 없었 으며이 게시물의 모든 제안을 시도했습니다.
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 년 이후의 누군가를 돕기를 바랍니다!
건배
필자는 PIL이 아닌 Pillow를 사용하는 것을 제외하고 JPEG support available
는 여기에서도 동일한 문제가 발생했습니다 IOError: decoder/encoder jpeg not available
.
위의 모든 것을 시도했지만 몇 시간이 지나면와 함께 사용하면 sudo pip install
예상대로 작동하지 않는다는 것을 깨달았습니다 virtualenv
. 바보 나.
를 사용 하면 virtualenv가 활성화되지 않은 sudo
새 셸에서 명령을 효과적으로 시작합니다 (이에 대한 이해가 완전히 정확하지 않을 수 있음) . 즉, 패키지가 전역 환경에 대신 설치됩니다. (이것은 엉망이되어, 필자는 필로우를 2 가지 설치했다고 생각합니다.)
나는 물건을 정리하고 사용자를 루트로 변경하고 virtualenv에 다시 설치했으며 이제는 작동합니다.
잘하면 이것은 누군가를 도울 것입니다!
페도라
전제 조건
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 / Red Hat에 libjpeg-devel 및 zlib-devel 패키지를 설치 합니다
먼저 파이썬을 제거하는 것 외에도 숨겨진 폴더 user / appData (큰 두통을 일으켰습니다)에서 파이썬 폴더를 삭제해야했습니다. 그런 다음 WinPython Distribution을 설치했습니다 : http://code.google.com/p/winpython/ PIL 포함
Mac OS Mountain Lion 사용자의 경우 zeantsoi의 답변을 따랐지만 작동하지 않습니다.
나는 마침내이 게시물의 해결책으로 끝났습니다 : http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
이제, 나는 행복하게 jpeg에 대한 스크립트를 실행하고 있습니다!
'Programing' 카테고리의 다른 글
Amazon API Gateway에서 querystring 또는 route 매개 변수를 AWS Lambda로 전달하는 방법 (0) | 2020.03.14 |
---|---|
PHP 짧은 태그를 활성화하는 방법은 무엇입니까? (0) | 2020.03.14 |
파이썬에서 스케줄러와 같은 Cron을 얻으려면 어떻게해야합니까? (0) | 2020.03.13 |
SQL Server-SELECT FROM 저장 프로 시저 (0) | 2020.03.13 |
템플릿을 쉽게 만드는 JSP 트릭? (0) | 2020.03.13 |