복붙노트

[PYTHON] pip 설치 PIL-E TICKETS-1 - JPEG / PNG 지원 안 함

PYTHON

pip 설치 PIL-E TICKETS-1 - JPEG / PNG 지원 안 함

내 장고 프로젝트에 우분투 및 VitualEnv를 사용하고 있습니다.

SILaptic Package Manager를 사용하여 PIL 라이브러리를 설치했는데 정상적으로 작동합니다. 그러나 VitrualEnv를 만들고 PIP를 사용하여 PIL을 설치하려고 시도하지만 설치하는 데 이상한 동작이 발생합니다.

--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
              [GCC 4.5.2]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
*** LITTLECMS 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.

모든 dependencies에 requirements.txt를 사용할 수 있기를 바랬지 만 PIL이 어떻게 든 수동으로 설치되어야 할 수도 있습니다 ... 그러나 어떻게?

편집 : 존 키이스, 네 말이 맞아, 내가 실행 :

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/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/

PIL 설치를 시도한 후에도 다음과 같은 결과가 나옵니다.

--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
              [GCC 4.5.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS 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.

편집 : libfreetype6-dev libjpeg8-dev를 설치해야 할 수도 있습니다.

편집 : 또 다른 좋은 옵션은 PIL 대신 베개를 사용하는 것입니다.

해결법

  1. ==============================

    1.우분투 포럼의이 스레드는이 주제를 다룹니다.

    우분투 포럼의이 스레드는이 주제를 다룹니다.

  2. ==============================

    2.경우에 따라 virtualenv를 사용하는 경우 시스템 전체에 심볼릭 링크를 만들 필요가 없습니다. 아키텍처에 적용되는 보편적 인 해결 방법은 다음과 같습니다.

    경우에 따라 virtualenv를 사용하는 경우 시스템 전체에 심볼릭 링크를 만들 필요가 없습니다. 아키텍처에 적용되는 보편적 인 해결 방법은 다음과 같습니다.

    ln -s /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/libz.so $VIRTUAL_ENV/lib/
    ln -s /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/libfreetype.so $VIRTUAL_ENV/lib/
    ln -s /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/libjpeg.so $VIRTUAL_ENV/lib/
    

    그리고 virtualenv가 활성화 된 쉘 세션 내에서이 라인을 실행해야만 symlink가 virtualenv lib 디렉토리에 생성됩니다.

    명령 dpkg-architecture -qDEB_HOST_MULTIARCH가 주 시스템 libs 디렉토리를 검색하는 데 사용됩니다 (uname -i는 신뢰할 수 없습니다). 환경 변수 $ VIRTUAL_ENV는 virtualenv activate 스크립트에 의해 설정됩니다.

  3. ==============================

    3.(PIL 1.7.7 기준) PIL을 먼저 제거한 다음 Pillow를 제거한 다음 pip install pillow --upgrade를 제거하는 것이 해결책입니다. 물론 libjpeg8-dev가 설치되어 있어야합니다.

    (PIL 1.7.7 기준) PIL을 먼저 제거한 다음 Pillow를 제거한 다음 pip install pillow --upgrade를 제거하는 것이 해결책입니다. 물론 libjpeg8-dev가 설치되어 있어야합니다.

  4. from https://stackoverflow.com/questions/7648200/pip-install-pil-e-tickets-1-no-jpeg-png-support by cc-by-sa and MIT license