Python 이미징 라이브러리 (PIL)를 어떻게 설치합니까?


35

Ubuntu에 Python 이미징 라이브러리 (PIL)를 어떻게 설치합니까?

나는 노력했다

sudo apt-get install python-imaging

그러나 이제는 파이썬 selftest.py ( http://pythonware.com/products/pil/ 웹 사이트의 어딘가에서 얻은 스크립트)를 실행 하면 (다른 경고 메시지 중에서)

...
*** JPEG support not installed
*** ZLIB (PNG/ZIP) support not installed
...
*** 1 tests of 57 failed.

어떻게 든 PIL을 망쳐 놓았습니까? 어떻게 수정합니까?

PIL은 괜찮을지 모르지만 "selftest.py"는 PIL이 올바르게 설치되었는지 확인하는 데 적합한 프로그램이 아닙니다. PIL이 올바르게 설치되었는지 여부를 어떻게 알 수 있습니까?

(우분투 12.04 LTS "Precise Pangolin"을 사용하고 있습니다).

(결국 내가하려고하는 것은 일부 파이썬 코드에 2D 바코드 생성기를 추가하는 것입니다. 파이썬으로 작성된 모든 2D 바코드 생성기는 PIL을 사용하는 것으로 보입니다.)


2
응용 프로그램에서 PIL을 사용하려고 할 때 selftest.py에
Aaron Hill

1
방금처럼 18.04 그것은 보이는 sudo apt-get install python-pilsudo apt-get install python3-pil.
Shule

^ 확실히, sudo apt-get install python-pil나는 단지 raspbian에서 나를 위해 일했다.
alecxe

답변:


25

비슷한 일이 나에게 이런 식으로 해결

sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev

그리고를 통해 설치하십시오 pip install PIL.

자세한 내용 pip여기를 참조하십시오 . 간단히 말해서 파이썬 라이브러리를 설치하는 편리한 (그리고 표준이되는) 방법입니다.

계속 실패하면 PIL이 다른 경로에서 해당 라이브러리를 검색하기 때문일 수 있습니다.

APT 설치는 라이브러리를 / usr / lib / x86_64-linux-gnu 아래에 놓고 PIL은 / usr / lib /에서 라이브러리를 검색합니다 . 따라서 PIL을 보려면 심볼릭 링크를 만들어야합니다.

libjpeg 및 libz libs가 / usr / lib / x86_64-linux-gnu에 있는지 확인하고이 방법으로 symlink를 만드십시오.

sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so.6 /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so.62 /usr/lib/

출처 : http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/


이것은 Ubuntu 12.04 64bit에서 작동하지 않았습니다.
거스 E

1
그것이 당신의 필요에 맞는다면, '베개'를 시도 할 수 있습니다. PIL의 대체품입니다.
Hernantz

7
가능하면을 사용하십시오 pillow. 본질적으로 PIL이지만 실제로 유지 관리됩니다.
Thane Brimhall

zlib1g-dev 패키지는 사용할 수 없지만 다른 패키지에서 참조합니다. 이는 패키지가 누락되었거나 더 이상 사용되지 않거나 다른 소스에서만 사용 가능함을 의미 할 수 있습니다. E : 패키지 libjpeg를 찾을 수 없습니다. E : 패키지 libjpeg-dev를 찾을 수 없습니다. E : 패키지 libfreetype6-dev를 찾을 수 없습니다. E : 패키지 'zlib1g -dev '에는 설치 후보가 없습니다.
Aalok

Ubuntu 12.04 LTS의 python-imaging 패키지는 JPEG 라이브러리에 연결되어 있으며 changelog는 2011 년 7 월 이전의 멀티 아키 크 브레이킹을 언급합니다. 아마도 이것 selftest.py으로 인해 깨졌을 수도 있지만 반드시 다른 것에 영향을 미치지는 않았습니다.
Josip Rodin

30

libjpeg를 저장소에서 사용할 수 없으므로 위의 솔루션이 Ubuntu 12.10에서 작동하지 않았습니다.

나를 위해 일한 것은 다음과 같습니다.

sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev

"sourceslist에 일부 'source'URI를 넣어야합니다"오류가 발생하면 /etc/apt/sources.list에 deb 항목과 일치하는 deb-src 항목이 있는지 확인하십시오.

그런 다음 파일을 서버의 실제 위치에서 PIL이 예상하는 위치로 심볼릭 링크해야합니다.

32 비트 버전

sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib/libfreetype.so

64 비트 버전

sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so

마지막으로 pip install PIL

성공!

여기에 이미지 설명을 입력하십시오


2014 년 9 월 업데이트

베개는 PIL의 현대 포크입니다.

#jpeg support
sudo apt-get install libjpeg-dev
#tiff support
sudo apt-get install libtiff-dev
#freetype support
sudo apt-get install libfreetype6-dev
#openjpeg200support (needed to compile from source)
wget http://downloads.sourceforge.net/project/openjpeg.mirror/2.0.1/openjpeg-2.0.1.tar.gz
tar xzvf openjpeg-2.0.1.tar.gz
cd openjpeg-2.0.1/
sudo apt-get install cmake
cmake .
sudo make install
#install pillow
pip install pillow

1
베개로 13.04에서 심볼릭 링크없이 작동합니다.
유진 나 고니

2
나를 위해 일한 (14.04 LTS 64 비트, 위에서 수정되지 않음) : sudo apt-get build-dep python-imaging sudo apt-get install libjpeg62 libjpeg62-dev
Peter Teoh

방금 "apt-get build-dep python-imaging"이 필요했습니다
peterretief

13

나는 pip install pil적어도 내 컴퓨터에서 더 이상 작동하지 않도록 추가하고 싶습니다.

pip install PIL --allow-external PIL --allow-unverified PIL


5
pip install Pillow대신 시도하십시오 pip install pill(후자는 존재하지 않음)
aclark

@Lynob 이것은 PIL과 동일합니까? 그리고 TkInker에 의해 지원됩니다?
3kstc

@ 3kstc 그렇습니다
Lynob

4

위의 답변은 x86 위치에 x64 라이브러리에 대한 링크를 만듭니다. 대신 PIL 소스 를 다운로드 한 다음 setup.py에 다음 줄을 추가하십시오.

    add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu")
    add_directory(library_dirs, "/lib/x86_64-linux-gnu")

이 줄 뒤 (~ 라인 211)

    # standard locations
    add_directory(library_dirs, "/usr/local/lib")
    add_directory(include_dirs, "/usr/local/include")

    add_directory(library_dirs, "/usr/lib")
    add_directory(include_dirs, "/usr/include")

PIL을 다시 설치하십시오. pip를 사용하는 경우 :

pip uninstall PIL

그런 다음 소스 디렉토리에서 다음을 실행하십시오.

python setup.py install

2

이 솔루션은 저장소에서 libjpeg를 사용할 수 없으므로 Ubuntu 14.04에서 작동합니다.

나를 위해 일한 결과

sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev

2

sudo apt-get install python-imaging이제 PIL이 아닌 Pillow를 설치합니다 . 에 대해서는 소스확인 하여 실행 selftest.py해야 할 수도 있습니다 . 물론 PIL이이를 지원하도록하려면 종속성을 설치해야합니다. 예 :

sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev

Ubuntu에 포함 된 것보다 최신 버전의 PIL을 실행하려면 :

pip install Pillow

2

14.04의 virtualenv에 필로우를 설치해야합니다 (시스템 패키지는 사용하지 않음).

virtualenv (Python 2.7) 내부에서 PyPI로 베개를 만들려면 :

$ sudo apt-get build-dep pillow
$ virtualenv venv
$ source venv/bin/activate
(venv)$ pip install pillow

... 그러면 PIL 을 가져올 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.