การติดตั้ง PIL ด้วย pip


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 หรือไม่ ดูเหมือนว่าคุณไม่มีคอมไพเลอร์เสียงดังกราว
หลอด

คำตอบ:


586
  1. ติดตั้ง Xcode และเครื่องมือบรรทัดคำสั่ง Xcode ตามที่กล่าวไว้
  2. ใช้ Pillow แทนเนื่องจาก PIL นั้นตายแล้ว หมอนเป็นทางแยกของ PIL

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

pip install Pillow

หากคุณติดตั้ง Pythons ทั้งสองและต้องการติดตั้งสำหรับ Python3:

python3 -m pip install Pillow

5
ฉันพบclangข้อผิดพลาดเกี่ยวกับ OSX Mavericks เมื่อฉันลองสิ่งนี้ แต่ฉันพบว่าคำตอบนี้ช่วยได้เช่น: stackoverflow.com/a/22322645/16959
Jason Sperske

34
แม้ว่านี่จะเป็นคำตอบที่ถูกต้องและมีประโยชน์ แต่ก็ไม่ได้ตอบคำถาม สำหรับพวกเราในกระบวนการฟื้นฟูโครงการเก่าซึ่งอาจต้องกรอก PIL พึ่งพาเพียงเพื่อให้เราสามารถค้นหาสิ่งต่อไปที่จะทำลายเราจริง ๆ ต้องได้รับการอ้างอิงที่แท้จริง (และบางครั้งก็จำเป็นต้องได้รับรุ่นที่เฉพาะเจาะจง มีคนสร้างแฮ็ค)
ชื่อ

3
@Namey Porting รหัส PIL ที่มีอยู่เพื่อหมอนสามารถทำได้อย่างง่ายดาย พอร์ต PIL เพื่อหมอน หมอนอิงตามรหัส PIL และพัฒนาเป็น PIL รุ่นที่ทันสมัยและเป็นมิตรยิ่งขึ้น
GiriB

7
@GiriB ขอบคุณสำหรับการอัปเดต ประเด็นหลักของฉันคือมักจะมีหลายกรณีที่คุณเริ่มต้นทำงานกับรหัสการผลิตแบบดั้งเดิมที่มีการขึ้นต่อกันของโบราณ 20 รายการซึ่ง PIL อาจเป็นหนึ่งและคุณต้องแก้ไขจุดบกพร่องในการแก้ไขรหัสการผลิต ในกรณีนั้นคุณไม่ต้องการเขียนพอร์ตสำหรับรหัสที่เชื่อมต่อกับ ~ 10 ไลบรารีที่แตกต่างกันบน dev build ของคุณเพื่อเริ่มการดีบักข้อผิดพลาดบรรทัดเดียวที่เกิดขึ้นในสภาพแวดล้อมการผลิต หวังว่ามันจะชัดเจนขึ้น
ชื่อ

import Imageฉันพยายามที่จะใช้ห้องสมุดที่ใช้ มีวิธีในการรับ Pillow เพื่อจัดเตรียมรูปภาพหรือไม่?
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/
Mark Chackerian

ปัญหาเดียวกันเสมอสำหรับส่วนหัวของการถ่ายภาพ: _imagingft.c: 73: 31: ข้อผิดพลาดร้ายแรง: freetype / fterrors.h: ไม่มีไฟล์หรือไดเรกทอรีเช่น #include <freetype / fterrors.h> ดังนั้นคุณต้องติดตั้ง Python-imaging throught
c24b

มักจะมีปัญหาในส่วนหัวของประเภทที่ชอบฟรีพูดถึงที่นี่ [ askubuntu.com/questions/507459/… ? SOlution: cd / usr / include ln -s freetype2 freetype
c24b

1
ภายใต้ ubuntu 14.04 จำเป็นต้องใช้ 1 symlink เพิ่มเติม sudo ln -s /usr/include/freetype2 /usr/local/include/freetype
Akasha

1
ทำงานได้ดีสำหรับฉันความลับคือ - ไม่ได้รับการยืนยัน PIL - อนุญาตทั้งหมดภายนอก
eusoubrasileiro

54

มันง่ายมากโดยใช้ apt install ใช้คำสั่งนี้เพื่อทำมันให้เสร็จ

sudo apt-get install python-PIL

หรือ

sudo pip install pillow

หรือ

sudo easy_install pillow

2
อย่าลืมรีสตาร์ทเซิร์ฟเวอร์โน๊ตบุ๊ก ipython หากคุณใช้งานอยู่
shousper

หมอนติดตั้ง sudo pip ทำงานได้ดีสำหรับฉัน sudo apt-get install python-PIL ไม่ได้
Yu Shen

1
ฉันพบว่าตัวพิมพ์เล็กและตัวพิมพ์เล็กดังนั้น: sudo apt-get install python-PIL => ล้มเหลว (ไม่พบแพ็คเกจ) sudo apt-get install python-pil => ทำงานแล้ว
Clarkey252

35

บน Mac OS X ให้ใช้คำสั่งนี้:

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

ทำงานบน debian jessy เช่นกัน! เพียงแค่ต้องการติดตั้ง python-dev ล่วงหน้า :)
Agey

1
ฉันต้องติดตั้ง libjpeg ก่อน: brew install libjpeg
Pierre F

ในที่สุดทางออกที่แท้จริง Mac ของฉันไม่มี apt-get: p และฉันต้องการติดตั้งใน virtualenv ต่อไป
sudo

ใช้หมอนติดตั้ง sudo pip - ดังต่อไปนี้
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
ฉันได้รับคำเตือนให้ใช้ HTTPS แทน HTTP หลังจากเปลี่ยน URL มันใช้งานได้ดี
AnnanFay

@TomMyddeltyn ที่เกือบจะทำงานยกเว้นฉันได้รับข้อผิดพลาดของคอมไพเลอร์ที่ไม่สามารถหา X11 / Xlib.h
Uncommon

@ ผิดปกติฉันไม่แน่ใจว่ามีปัญหาอะไรขอโทษ
Tom Myddeltyn

21

ติดตั้ง

pip install Pillow

จากนั้นเพียงนำเข้าไฟล์ของคุณเช่น

from PIL import Image

ฉันกำลังใช้ windows มันใช้งานได้สำหรับฉัน

หมายเหตุ :

Pillow เป็นฟังก์ชั่นดรอปอินแบบแทนที่สำหรับ Python Imaging Library ในการรันรหัส PIL ที่ใช้งานร่วมกันได้ของคุณด้วย Pillow นั้นจำเป็นต้องได้รับการแก้ไขเพื่อนำเข้าโมดูลการถ่ายภาพจาก PIL เนมสเปซแทนเนมสเปซส่วนกลาง

ie การเปลี่ยนแปลง:

import Image

ถึง:

from PIL import Image

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


ขอบคุณ! เมื่ออ่านชื่อ 'PIL' ในfrom PIL import Imageฉันไม่สามารถเดาได้ว่าชื่อของห้องสมุดนี้คือ 'หมอน' ฉันใช้ Windows และโซลูชันของคุณใช้ได้สำหรับฉัน
Marcos Buarque

Pillow เป็นฟังก์ชั่นดรอปอินแบบแทนที่สำหรับ Python Imaging Library ในการรันรหัส PIL ที่ใช้งานร่วมกันได้ของคุณด้วย Pillow นั้นจำเป็นต้องได้รับการแก้ไขเพื่อนำเข้าโมดูลการถ่ายภาพจาก PIL เนมสเปซแทนเนมสเปซส่วนกลาง Ie change: import Imageเป็นfrom PIL import Image pypi.org/project/Pillow/2.2.1
Chandan Sharma

ขอบคุณสำหรับข้อมูล bckground เพิ่มเติม!
Marcos Buarque

12

ฉันคิดว่าคุณใช้ Mac ดูฉันจะติดตั้ง PIL บน mac os x 10.7.2 Lion ได้อย่างไร

ถ้าคุณใช้ [homebrew] [] คุณสามารถติดตั้ง PIL brew install pilที่มีเพียงแค่ จากนั้นคุณอาจต้องเพิ่มไดเรกทอรีการติดตั้ง ( $(brew --prefix)/lib/python2.7/site-packages) ลงใน PYTHONPATH ของคุณหรือเพิ่มตำแหน่งของไดเรกทอรี PIL ด้วยตัวเองในไฟล์ชื่อPIL.pthไฟล์ในไดเรกทอรีไซต์แพ็กเกจใด ๆ ของคุณโดยมีเนื้อหา:

/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

ฉันวิ่งไปด้านบนทันที (บน OSX 10.7.2, ด้วย XCode 4.2.1 และ System Python 2.7.1) และมันก็สร้างขึ้นมาได้ดีแม้ว่ามีความเป็นไปได้ที่บางสิ่งในสภาพแวดล้อมของฉันจะไม่ใช่ค่าเริ่มต้น

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


แม้ว่าสิ่งนี้จะอธิบายวิธีการติดตั้งpilแต่ก็ไม่ได้ทำผ่านทางpipOP เมื่อได้ลองในตอนแรก ฉันพบว่าการใช้งานbrewเว็บมากมายในทุกวันนี้ไม่ดีเท่าที่ควร brewจะติดตั้งค่าใช้จ่ายเล็กน้อยขึ้นอยู่กับสิ่งที่คุณต้องการจะทำ ดังนั้นpipอาจเป็นตัวเลือกที่ดีที่สุดสำหรับโมดูลหลาม
mknaf

11

ทุกวันนี้ทุกคนใช้หมอนซึ่งเป็น PIL ที่เป็นมิตรมากกว่า PIL

แทน: 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

สำหรับ Ubuntu 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
สิ่งนี้ไม่ได้ผลสำหรับฉันใน Ubuntu 14. pip install pilผลลัพธ์No distributions at all found for PILไม่ว่าฉันจะติดตั้ง python-dev ก่อนหรือไม่ก็ตาม
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 Kit Kit" เพื่อดาวน์โหลดซอร์ส
  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 (ซึ่งถูกลบไปแล้ว) น้ำเสียงของฉันไม่ดี แต่ความเชื่อมั่นของฉันยังคงอยู่ มีบางอย่างที่น่ารังเกียจเกี่ยวกับการหมุนหน้าแรกและคัดลอก / วางบันทึกย่อของคุณเกี่ยวกับ "การให้ตรรกะพื้นฐาน" บางทีคุณอาจกำลังไล่ล่าตราและฉันเดาว่าไม่เป็นไร แต่เพื่อความมั่นคงกรุณาแสดงความคิดเห็นเกี่ยวกับคำตอบอื่น ๆ ที่คล้ายกันทั้งหมดสำหรับคำถามนี้ที่ล้มเหลวภายใต้ตรรกะ
ฟองโซ


3
  • ก่อนอื่นคุณควรรันสิ่งนี้sudo apt-get build-dep python-imagingซึ่งจะให้การพึ่งพาทั้งหมดที่คุณอาจต้องการ

  • จากนั้นเรียกใช้ sudo apt-get update && sudo apt-get -y upgrade

  • ติดตามโดย sudo apt-get install python-pip

  • จากนั้นในที่สุดก็ติดตั้ง Pil pip install pillow



0

condaมีเครื่องมือที่แพคเกจหลามอื่นที่เรียกว่าเป็น Conda เป็นที่ต้องการ (ฉันเชื่อ) มากกว่า pip เมื่อมีห้องสมุดที่ต้องติดตั้ง C ++ และการผูกอื่น ๆ ที่ไม่ใช่ Python บริสุทธิ์ Conda รวม pip ไว้ในการติดตั้งด้วยดังนั้นคุณยังสามารถใช้ pip ได้ แต่คุณจะได้รับประโยชน์จาก conda ด้วย

Conda ยังติดตั้งIPython , pil และไลบรารี่อื่น ๆ อีกมากมายตามค่าเริ่มต้น ฉันคิดว่าคุณจะชอบมัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.