pip로 PIL 설치


349

다음 명령을 사용하여 PIL (Python Imaging Library)을 설치하려고합니다.

sudo pip install pil

하지만 다음과 같은 메시지가 나타납니다.

Downloading/unpacking PIL
  You are installing a potentially insecure and unverifiable file. Future versions of pip will default to disallowing insecure files.
  Downloading PIL-1.1.7.tar.gz (506kB): 506kB downloaded
  Running setup.py egg_info for package PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

Installing collected packages: PIL
  Running setup.py install for PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py
    --- using frameworks at /System/Library/Frameworks
    building '_imaging' extension
    clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.8-intel-2.7/_imaging.o
    unable to execute clang: No such file or directory
    error: command 'clang' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools;__file__='/private/tmp/pip_build_root/PIL/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-AYrxVD-record/install-record.txt --single-version-externally-managed:
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

running install

running build

.
.
.
.

copying PIL/XVThumbImagePlugin.py -> build/lib.macosx-10.8-intel-2.7

running build_ext

--- using frameworks at /System/Library/Frameworks

building '_imaging' extension

creating build/temp.macosx-10.8-intel-2.7

creating build/temp.macosx-10.8-intel-2.7/libImaging

clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.8-intel-2.7/_imaging.o

unable to execute clang: No such file or directory

error: command 'clang' failed with exit status 1

----------------------------------------
Cleaning up

PIL을 설치하도록 도와 주시겠습니까?


Xcode를 설치 한 다음 Xcode의 명령 줄 도구를 설치 했습니까? clang 컴파일러가없는 것 같습니다.
Fiver

답변:


586
  1. 언급 한대로 Xcode 및 Xcode 명령 행 도구를 설치하십시오.
  2. PIL이 기본적으로 죽었으므로 베개를 대신 사용하십시오. 베개는 PIL의 유지 포크입니다.

https://pypi.python.org/pypi/Pillow/2.2.1

pip install Pillow

두 Python이 모두 설치되어 있고 Python3 용으로 설치하려는 경우 :

python3 -m pip install Pillow

5
clang이 작업을 시도했을 때 OSX Mavericks 에서 오류가 발생했지만이 답변이 도움이된다는 것을 발견했습니다. stackoverflow.com/a/22322645/16959
Jason Sperske

34
이것은 유효하고 유용한 답변이지만 실제로 질문에 대답하지는 않습니다. 우리는 PIL 의존성을 채울 필요가있는 오래된 프로젝트를 다시 처리하는 과정에서 우리가 깨뜨릴 다음 것을 찾을 수 있습니다. 실제로 의존성을 얻어야합니다 (때로는 특정 버전을 가져와야합니다) 누군가가 해킹했다).
Namey

3
@Namey 기존 PIL 코드를 필로우로 이식하는 작업은 쉽게 수행 할 수 있습니다 . 포트 PIL을 베개로 . 필로우는 PIL 코드를 기반으로하며 더 좋고 현대적이고 친숙한 PIL 버전으로 발전했습니다.
GiriB

7
@GiriB 업데이트 해 주셔서 감사합니다. 필자의 주요 요점은 20 개의 고대 종속성이있는 일부 레거시 프로덕션 코드에서 작업을 시작하는 경우가 종종 있는데, 그 중 PIL은 하나 일 수 있으며 프로덕션 코드에서 수정하려면 무언가를 디버깅해야합니다. 이 경우 프로덕션 환경에서 발생하는 단선 오류 디버깅을 시작하기 위해 개발 빌드의 ~ 10 개의 다른 라이브러리에 연결된 코드에 대한 포트를 작성 하지 않아도 됩니다. 이것이 분명히되기를 바랍니다.
Namey

을 사용하는 라이브러리를 사용하려고합니다 import Image. 이미지를 제공하기 위해 베개를 얻는 방법이 있습니까?
AnnanFay

60

이것은 나를 위해 작동합니다 :

apt-get install python-dev
apt-get install libjpeg-dev
apt-get install libjpeg8-dev
apt-get install libpng3
apt-get install libfreetype6-dev
ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib
ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib
ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib

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

9
64 비트 플랫폼에서 링크 된 경로는 달라야합니다 (예 : /usr/lib/x86_64-linux-gnu/libfreetype.so). 더 아키텍처 독립적 인 솔루션의 경우, 같은 링크 생성# ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/
마크 Chackerian

_imagingft.c : 73 : 31 : 치명적인 오류 : freetype / fterrors.h : 해당 파일이나 디렉토리가 없습니다. #include <freetype / fterrors.h> 따라서 pip를 통해 python-imaging을 설치해야합니다.
c24b

여기에 언급 된 것과 같은 자유형 헤더의 문제는 항상 [ askubuntu.com/questions/507459/… ? 해결책 : cd / usr / include ln -s freetype2 freetype
c24b 17:03에

1
우분투 14.04에서 1 더 많은 symlink가 필요합니다 sudo ln -s /usr/include/freetype2 /usr/local/include/freetype
Akasha

1
나를 위해 잘 작동 비밀은 --allow-확인되지 않은 PIL이었다 --allow-모든 외부
eusoubrasileiro

54

apt install을 사용하면이 명령을 사용하여 매우 간단합니다.

sudo apt-get install python-PIL

또는

sudo pip install pillow

또는

sudo easy_install pillow

2
ipython 노트북 서버를 실행중인 경우 다시 시작하는 것을 잊지 마십시오.
shousper

sudo pip install pillow이 나를 위해 일했습니다. sudo apt-get install python-PIL이 설치하지 않았습니다.
Yu Shen

1
나는 그것이 대소 문자를 구분하므로 것으로 발견 : apt-get을 파이썬-PIL를 설치 => 실패 (어떤 패키지를 찾을 수 없습니다) sudo는 sudo는 apt-get을 파이썬-PIL를 설치 => 근무
Clarkey252

35

Mac OS X에서는 다음 명령을 사용하십시오.

sudo pip install https://effbot.org/media/downloads/Imaging-1.1.7.tar.gz

데비안 jessy에서도 일했습니다!, python-dev를 미리 설치해야했습니다 :)
Agey

1
먼저 libjpeg를 설치해야했습니다. brew install libjpeg
Pierre F

마지막으로 실제 솔루션. 내 Mac에는 apt-get : p가 없으며 어쨌든 virtualenv에 설치하고 싶습니다.
sudo

아래와 같이 sudo pip install Pillow를 사용하십시오.
johndpope


26

토론 에서 답을 얻었습니다 .

나는 시도했다

pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

그리고 효과가있었습니다.


8
이 사용을 고려 : pip install --no-index -f http://effbot.org/downloads/ -U PIL --trusted-host effbot.org그것은 패키지와에 나와있는 URL이기 때문에 나는이 하나를 사용하는 이유는 pypi.python.org/pypi/PIL
톰 Myddeltyn

1
HTTP 대신 HTTPS를 사용하라는 경고가 표시되었습니다. URL을 변경 한 후 훌륭하게 작동했습니다.
AnnanFay

@TomMyddeltyn X11 / Xlib.h를 찾을 수없는 컴파일러 오류를 제외하고는 거의 효과가있었습니다.
Uncommon

@Uncommon 문제가 무엇인지 잘 모르겠습니다. 죄송합니다.
Tom Myddeltyn

21

설치

pip install Pillow

그런 다음 파일을 다음과 같이 가져 오십시오.

from PIL import Image

나는 창문을 사용하고 있습니다. 나를 위해 일하고 있습니다.

참고 :

Pillow는 Python Imaging Library를 대체하는 기능적인 대체 기능입니다. Pillow로 기존 PIL 호환 코드를 실행하려면 전역 네임 스페이스 대신 PIL 네임 스페이스에서 이미징 모듈을 가져 오도록 수정해야합니다.

즉 변경 :

import Image

에:

from PIL import Image

https://pypi.org/project/Pillow/2.2.1/


감사! 'PIL'이라는 이름을 읽을 from PIL import Image때이 라이브러리의 이름이 'Pillow'라고 추측 할 수 없었습니다. 나는 또한 Windows에 있으며 귀하의 솔루션이 나를 위해 일했습니다.
Marcos Buarque

Pillow는 Python Imaging Library를 대체하는 기능적인 대체 기능입니다. Pillow로 기존 PIL 호환 코드를 실행하려면 전역 네임 스페이스 대신 PIL 네임 스페이스에서 이미징 모듈을 가져 오도록 수정해야합니다. 즉 변화 : import Imagefrom PIL import Image pypi.org/project/Pillow/2.2.1
이것을 Chandan 샤르마

추가 bckground 정보에 감사드립니다!
Marcos Buarque

12

나는 당신이 Mac에 있다고 생각합니다. mac OS x 10.7.2 Lion에 PIL을 설치하는 방법을 참조하십시오.

[homebrew] []를 사용하는 경우 PIL 만 설치하면 brew install pil됩니다. 그런 다음 설치 디렉토리 ( $(brew --prefix)/lib/python2.7/site-packages)를 PYTHONPATH에 추가 PIL.pth하거나 사이트 패키지 디렉토리의 파일에 있는 파일에 PIL 디렉토리의 위치를 컨텐츠와 함께 추가해야합니다.

/usr/local/lib/python2.7/site-packages/PIL

(가정 brew --prefix이다 /usr/local).

또는 소스에서 다운로드 / 빌드 / 설치할 수 있습니다.

# download
curl -O -L http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz
# extract
tar -xzf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7
# build and install
python setup.py build
sudo python setup.py install
# or install it for just you without requiring admin permissions:
# python setup.py install --user

나는 지금 (XCode 4.2.1 및 System Python 2.7.1과 함께 OSX 10.7.2에서) 위를 실행했으며 환경에서 무언가가 기본값이 아닐 수도 있지만 제대로 빌드되었습니다.

[homebrew] : http://mxcl.github.com/homebrew/ "Homebrew"


이것은 설치 방법을 설명하지만 OP가 처음 시도한대로 pil는하지 않습니다 pip. brew요즘에는 웹을 많이 사용하는 것이 차선책이라고 생각합니다. brew원하는 작업에 따라 약간의 오버 헤드가 설치됩니다. 그래서 pip아마 아직 파이썬 모듈을위한 최고의 선택이 될 것입니다.
mknaf

11

요즘에는 누구나 PIL보다 친절한 PIL 포크 인 Pillow를 사용합니다.

대신에: sudo pip install pil

하다: sudo pip install pillow

$ sudo apt-get install python-imaging
$ sudo -H pip install pillow

나는 절대로하지 않는 것이 좋습니다 sudo pip install .... 결과적으로 시스템의 Python 설치가 중단되어 시스템의 응용 프로그램에 영향을 줄 수 있습니다. Anaconda 가상 환경 , venv 또는 Docker를 사용해보십시오 .
n1k31t4

11

우분투의 경우 PIL이 더 이상 작동하지 않습니다. 나는 항상 얻는다 :

PIL에 대한 일치하는 분포가 없습니다.

python-imaging을 설치하십시오 :

sudo apt-get install python-imaging

6

같은 문제가 있지만의 설치로 해결됩니다 python-dev.

PIL을 설치하기 전에 다음 명령을 실행하십시오.

sudo apt-get install python-dev

그런 다음 PIL을 설치하십시오.

pip install PIL

10
python-dev를 먼저 설치했는지 여부에 관계없이 Ubuntu 14에서 pip install pil결과가 No distributions at all found for PIL나에게 도움이되지 않았습니다.
aliteralmind

5

설치하는 동안 오류가 발생했습니다. 누군가가 이것을 가지고있는 경우를 대비하여. 그럼에도 불구하고 나는 이미 관리자 사용자이지만 루트는 아닙니다.

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/PIL'

Storing debug log for failure in /Users/wzbozon/Library/Logs/pip.log

"sudo"를 추가하면 문제가 해결되었고 sudo가 작동했습니다.

~/Documents/mv-server: $ sudo pip install Pillow


5

나는 모든 대답을 시도했지만 실패했습니다. 공식 사이트에서 직접 소스를 가져온 다음 설치 성공을 구축하십시오.

  1. http://www.pythonware.com/products/pil/#pil117 사이트로 이동
  2. "Python Imaging Library 1.1.7 소스 키트"를 클릭하여 소스를 다운로드하십시오.
  3. tar xf Imaging-1.1.7.tar.gz
  4. cd Imaging-1.1.7
  5. sudo python setup.py install


3

이 시도:

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

2
이 답변은 정확할 수 있지만 설명을 추가하십시오. OP와 다른 독자들이이 문제와 비슷한 문제를 직접 해결하는 데 도움이되기 때문에 기본 논리를 부여하는 것이 코드를 제공하는 것보다 중요합니다.
CodeMouse92

이 명령이 시간 초과되었습니다. 어쨌든 몇 주 후에 더 이상 사용되지 않을 것입니다. sudo pip install --allow-external --allow-unverified PIL PIL지금도 작동 할 수 있습니다.
학습 통계 : 예 :

3
--allow-external그리고 --allow-unverified모두 사용되지 않습니다. pip install pillow정답입니다.
Dorian

1
내가 게시 한 답변은 stderr에 의해 제안되었습니다. 그래서 제 답변은 구식이지만 글을 쓸 당시에는 그렇지 않았습니다. 또한 JasonMc92 (이후 삭제)에 대한 메시지에 대해 사과드립니다. 내 말이 어긋 났지만 내 감정은 남아 있습니다. 프론트 페이지를 트롤링하고 "기본 로직을 임포팅"하는 것에 대한 메모를 복사 / 붙여 넣기하는 것에 대해 불쾌한 것이 있습니다. 아마도 당신은 배지를 쫓는 것이 좋을 것입니다.하지만 일관성을 유지하기 위해 근본적으로 논리에 실패하는이 질문에 대한 다른 모든 유사한 답변에 대해 의견을 남겨주십시오.
alfonso


3
  • 먼저 이것을 실행하여 sudo apt-get build-dep python-imaging필요한 모든 종속성을 제공해야합니다.

  • 그런 다음 실행 sudo apt-get update && sudo apt-get -y upgrade

  • 뒤에 sudo apt-get install python-pip

  • 마지막으로 필을 설치하십시오. pip install pillow


2

를 사용하기 전에 패키지 관리자를 검색하십시오 pip. 아치 리눅스에서는 PIL을 얻을 수 있습니다.pacman -S python2-pillow


0

또 다른 Python 패키지 도구가 있습니다 conda 있습니다. Conda는 C ++ 및 순수 Python이 아닌 다른 바인딩을 설치 해야하는 라이브러리가있을 때 pip보다 선호됩니다 (믿습니다). Conda는 설치에 pip도 포함하므로 pip를 계속 사용할 수 있지만 conda의 이점도 얻을 수 있습니다.

Conda는 기본적으로 IPython , pil 및 기타 여러 라이브러리를 설치합니다 . 당신이 좋아할 것 같아요.

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