이미지 라이브러리(PIL)에서 에러 “decoder JPEG not available”


제 컴퓨터에서는 PIL이 JPEG를 지원하는데도 파일을 업로드하면 이런 에러가 뜹니다. 어떻게 해결해야 하나요?

에러 내용

File "PIL/Image.py", line 375, in _getdecoder
    raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
  • 2016년 01월 21일에 작성됨

조회수 218


1 답변


좋아요
0
싫어요
채택취소하기

libjpeg-dev는 jpeg파일을 pillow(혹은 PIL)을 통해 처리하는데 여기서 문제가 생긴 것 같네요 이 경우에는 pillow/PIL을 다시 설치해야 합니다.

pillow를 다시/새로 설치하려면 기존의 pillow를 제거해주세요 pip uninstall PIL(혹은 pillow)

Ubuntu 환경을 기준으로 설명하겠습니다.

  1. apt로 libjpeg-dev설치 : sudo apt-get install libjpeg-dev
  2. pillow 설치 : pip install --no-cache-dir -I pillow

1의 방법이 통하지 않으면 아키텍처에 따라 다음을 따라한 후 pillow를 재설치해주세요

  • Ubuntu 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

  • Ubuntu 32bit에서)

    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/

  • 2016년 01월 21일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close