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

조회수 2819회

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

에러 내용

File "PIL/Image.py", line 375, in _getdecoder
    raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available

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/

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)