ล้มเหลวระหว่างการติดตั้ง Pillow (โมดูล Python) ใน Linux


165

ฉันกำลังพยายามติดตั้ง Pillow (โมดูล Python) โดยใช้ pip แต่เกิดข้อผิดพลาดนี้:

ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting

ดังนั้นเมื่อเกิดข้อผิดพลาดฉันก็ลอง:

pip install pillow --global-option="--disable-jpeg"

แต่มันล้มเหลวด้วย:

error: option --disable-jpeg not recognized

มีคำแนะนำวิธีจัดการกับมันอย่างไร?

คำตอบ:


325

มีข้อผิดพลาดในการรายงานกับหมอนที่นี่ซึ่งระบุว่าlibjpegและzlibตอนนี้จำเป็นต้องใช้เป็นของหมอน 3.0.0

คำแนะนำการติดตั้งสำหรับหมอนบน Linux ให้คำแนะนำวิธีการติดตั้งแพคเกจเหล่านี้ โปรดทราบว่าแพคเกจต่อไปนี้อาจไม่ทั้งหมดในเครื่องของคุณ (ความคิดเห็นแนะนำว่าlibjpeg8-devจะหายไปเท่านั้น)

pip / PyPi (หมอน> 3.4.2)

รุ่นล่าสุดของหมอนที่มีอยู่บน PyPi เป็นล้อ - กลไกการบรรจุภัณฑ์มาตรฐานใหม่สำหรับงูหลาม แพ็คเกจที่สร้างไว้ล่วงหน้าเหล่านี้มีการขึ้นต่อกันแบบไบนารีที่จำเป็นทั้งหมดเพื่ออนุญาตให้ Pillow ทำงานและควรใช้หากคุณต้องการติดตั้ง Pillow โดยใช้ PyPi

pip>=1.4ที่จะใช้ล้อคุณจะต้องมีรุ่นของ หากคุณใช้pip --versionpip รุ่นอัพเกรดก่อนหน้า ( ) โดยใช้ข้อมูลต่อไปนี้:

pip install --upgrade pip 

เมื่อpipอัปเกรดแล้วpip installจะใช้ไฟล์ล้อเฉพาะแพลตฟอร์มโดยค่าเริ่มต้นหากมีให้ใช้งาน ใช้คำสั่งต่อไปนี้เพื่ออัพเกรด Pillow เป็นเวอร์ชั่นล่าสุดที่มีใน PyPi:

pip install --upgrade pillow

Ubuntu 12.04 LTS หรือ Raspian Wheezy 7.0

sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk

Ubuntu 14.04

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

Ubuntu 18.04

sudo apt install libjpeg8-dev zlib1g-dev

Fedora 20

หมวก 20 เทียบเท่ากับการมีlibjpeg8-devlibjpeg-devel

sudo yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel

Mac OS X (ผ่าน Homebrew)

บน Mac OS X ด้วยHomebrewสามารถแก้ไขได้โดยใช้:

brew install libjpeg zlib

คุณอาจต้องบังคับให้ลิงค์ zlib โดยใช้ข้อมูลต่อไปนี้:

brew link zlib --force

อัปเดตเมษายน 2019:ในโมฮาวีข้างต้นจะไม่ทำงานและคุณต้องเรียกใช้สิ่งต่อไปนี้ตามที่ได้จากรายงานบั๊กบนหมอน

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

อัปเดตกรกฎาคม 2559:ไม่มีสูตรสำหรับzlibพื้นที่เก็บข้อมูลหลักอีกต่อไป(Homebrew จะแจ้งให้คุณติดตั้งlzlibซึ่งเป็นห้องสมุดอื่นและจะไม่แก้ปัญหานี้)

มีเป็นสูตรที่มีอยู่ในหลอกพื้นที่เก็บข้อมูล คุณสามารถแตะที่เก็บนี้และติดตั้งตามปกติ:

brew tap homebrew/dupes
brew install zlib

หรือคุณสามารถติดตั้งzlibผ่านทางxcodeแทนดังนี้:

xcode-select --install

ขอบคุณฟีนิกซ์, Panos Angelopoulou, nelsonvarela, benjaminz และ Kal ในความคิดเห็น

หลังจากติดตั้งเหล่านี้แล้วการติดตั้ง Pip ของหมอนควรทำงานได้ตามปกติ


2
เพียงแค่libjpeg8-devอาจจะมีการปรับ
Matheus Portela

3
ฉันกำลังเผชิญกับปัญหาเดียวกันสำหรับ Mac OS X ฉันแก้มันทำงาน brew install libjpeg brew install zlib
Panos Angelopoulos

2
ติดตั้ง libjpeg-dev ดีกว่า - โดยไม่มี '8' จากนั้นก็พบว่า zlib1g-dev ก็หายไปเช่นกัน หลัง: sudo apt-get install libjpeg-dev zlib1g-devการติดตั้งหมอนหมอนทำงานในมิ้นต์ 17.1 (= Ubuntu 14.04 LTS)
arntg

6
ผมต้อง zlib ลิงค์แรง:brew link zlib --force
nelsonvarela

2
brew install zlibไม่สามารถใช้งานกับ Macs ได้อีกต่อไปโซลูชันด้านล่างxcode-select --installดูเหมือนว่าจะทำเคล็ดลับโปรดอัปเดตโซลูชันของคุณเนื่องจากเป็นแบบครอบคลุมมากที่สุดและเป็นวิธีแก้ปัญหาแรกที่ผู้เข้าชมเห็น ขอบคุณมากสำหรับการทำงานของคุณ!
benjaminz

37

ใน Raspberry pi II ฉันมีปัญหาเดียวกัน หลังจากลองต่อไปนี้ฉันแก้ไขปัญหาได้ ทางออกคือ:

sudo apt-get update
sudo apt-get install libjpeg-dev

sudo apt-get install libjpeg-dev ใช้ได้กับ Ubuntu 14 ด้วย):
Amir

34

ขอบคุณ @mfitzp ในกรณีของฉัน (CentOS) libs เหล่านี้ไม่สามารถใช้งานได้ใน yum repo แต่จริงๆแล้วการแก้ปัญหานั้นง่ายยิ่งขึ้น ฉันทำอะไรลงไป:

sudo yum install python-devel
sudo yum install zlib-devel
sudo yum install libjpeg-turbo-devel

และตอนนี้การติดตั้งหมอนก็ประสบความสำเร็จ


1
ขอบคุณที่ใช้งานได้สำหรับฉันแม้ว่าฉันไม่ต้องการ python-devel
Dustfinger - Reinstate Monica

1
ทำงานให้ฉันด้วยเช่นกันเพียงแค่ต้องติดตั้งแพ็คเกจ libjpeg-turbo-devel!
kaycee

ทำงานบน CentOS 7 อย่างมีเสน่ห์!
Raptor

python-devel นี้ไม่จำเป็นสำหรับเครื่อง amazon linux yum ฉันคิดว่า libjpeg-turbo-devel อันสุดท้ายคือแพ็คเกจที่ขาดหายไป
Neeraj Gupta

12

การแก้ไขที่เร็วที่สุดคืออัปเกรด pip ทำงานให้ฉัน:

pip install --upgrade pip

ทำงานให้ฉัน Pip install Pillow (หากไม่ได้ล้างแคชโดย pip install - อัพเกรด pip) จากนั้นให้รันอีกครั้ง Pip pip Pillow
Tzvi Gregory Kaidanov

มันก็ใช้ได้กับฉันเช่นกัน ฉันมีงูหลาม 2.6.6 และ 3.5.1 บน CentOS VM pip3.5 install --upgrade pip3.5และวิ่ง หลังจากนั้นให้pip3.5 install pillowรันโดยไม่มีปัญหาใด ๆ และดูแลความสมบูรณ์ของการติดตั้ง Python2 และ Python3
Evan


10
brew install zlib

บน OS X ไม่ทำงานอีกต่อไปและแจ้งให้ติดตั้งlzlibแทน การติดตั้งที่ไม่ได้ช่วย

แต่คุณติดตั้งเครื่องมือบรรทัดคำสั่ง XCode และควรติดตั้ง zlib

xcode-select --install

คำอธิบายเพิ่มเติมเล็กน้อยจะเป็นประโยชน์มากขึ้น
benjaminz

9

สิ่งนี้ใช้ได้สำหรับฉันในการแก้ข้อผิดพลาด jpeg และ zlib:

C:\Windows\system32>pip3 install pillow --global-option="build_e
xt" --global-option="--disable-zlib" --global-option="--disable-jpeg"

1
ฉันจำเป็นต้องติดตั้ง Pillow บนสภาพแวดล้อมที่ฉันไม่มีสิทธิ์เข้าถึงรูท - นี่คือโซลูชันที่เหมาะกับฉัน
Nielk

6

ฉันมีValueError: zlib is required unless explicitly disabled using --disable-zlibแต่การอัพเกรด pip จาก 7.x เป็น 8.y ได้แก้ปัญหาแล้ว

ดังนั้นฉันจะพยายามอัปเดตเครื่องมือก่อนสิ่งอื่นใด

ที่สามารถทำได้โดยใช้:

pip install --upgrade pip


0

ลอง

pip install pillow

หากไม่ได้ผลให้ลองล้าง

cache by pip install --upgrade pip

จากนั้นเรียกใช้อีกครั้ง

pip install pillow

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