ImportError: ไม่มีโมดูลชื่อ PIL


207

ฉันใช้คำสั่งนี้ในเปลือกเพื่อติดตั้ง PIL:

easy_install PIL

แล้วผมทำงานและพิมพ์นี้:python import PILแต่ฉันได้รับข้อผิดพลาดนี้:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named PIL

ฉันไม่เคยมีปัญหาเช่นนี้คุณคิดอย่างไร?


ใช่มันใช้งานได้คำแนะนำของคุณคืออะไร?
Asma Gheisari

11
@RikPoggi หน้าเอกสารนี้บอกให้ใช้งานจริงfrom PIL import Imageซึ่งไม่ได้ผล
Janne Karila

2
@Janne เพียงใช้นำเข้ารูปภาพและ PIL ก็เริ่มทำงาน
Asma Gheisari

ในเวลานี้ฉันอยากจะแนะนำeasy_install Pillowแทน หมอนคือ PIL ที่มีบรรจุภัณฑ์ที่ดีขึ้นและรองรับ Python 3
Lennart Regebro

1
คุณสามารถเปลี่ยนคำตอบที่ยอมรับเป็นคำแนะนำหมอนได้หรือไม่? ดังที่ @LennartRegebro กล่าวว่าแพ็คเกจนี้ดีกว่าในระยะยาว
โยสิยาห์ Yoder

คำตอบ:


131

ในการติดตั้ง PIL บางตัวคุณต้องทำ

import Image

แทนที่จะเป็นimport PIL(PIL จริงๆแล้วไม่ได้นำเข้าด้วยวิธีนี้เสมอไป) เนื่องจากimport Imageทำงานได้ดีสำหรับคุณนั่นหมายความว่าคุณได้ติดตั้ง PIL แล้ว

การมีชื่อที่แตกต่างกันสำหรับไลบรารีและโมดูล Python นั้นผิดปกติ แต่นี่คือสิ่งที่ถูกเลือกสำหรับ PIL (บางเวอร์ชัน)

คุณจะได้รับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้โมดูลนี้จากทางการกวดวิชา

PS : อันที่จริงในการติดตั้งบางอย่างimport PIL ใช้งานได้ซึ่งเพิ่มความสับสน สิ่งนี้ได้รับการยืนยันโดยตัวอย่างจากเอกสารประกอบตามที่ @JanneKarila ค้นพบและโดยแพ็คเกจ MacPorts PIL รุ่นล่าสุด (1.1.7)


141
pip install imageจากคำตอบของ Zhiming ทำให้ฉัน
จิมชูเบิร์

9
yup @JimSchubert พูด pip install imageจากที่@zhimmingwangทำงานให้ฉันด้วย
Rafael Ruiz Muñoz

5
แต่imageเป็นไม่ได้ PIL (ในขณะที่คำถาม) มันเป็นโมดูลที่แตกต่างกัน อ้างอิง: github.com/francescortiz/image ฉันทำอะไรบางอย่างหายไปไหม
Eric O Lebigot

2
คุณควรตรวจสอบว่าการpipติดตั้งของคุณสำหรับตัวแปลหลามที่คุณใช้อยู่ pip -Vบอกคุณว่าจะติดตั้งที่ไหน ภายใต้ระบบ Unix which pythonจะบอกตำแหน่งของpythonคำสั่งของคุณ ทั้งสองควรตรงกันดีพอ หรือดีกว่า: python -c 'import sys; print sys.path'จะบอกคุณว่าpythonคำสั่งของคุณค้นหาโมดูลใด ( print(sys.path)สำหรับ Python 3)
Eric O Lebigot

1
@EricOLebigot Yours เป็นวิธีแก้ปัญหาที่ไม่ค่อยได้รับคำแนะนำข้อเสนอแนะของคุณแก้ไขปัญหาของฉันได้อย่างสมบูรณ์แบบและทำให้ฉันไม่สามารถดาวน์โหลดแพ็คเกจอื่น ๆ ได้
Scott Anderson

281

ในเชลล์ให้รัน:

pip install Pillow

ข้อควรสนใจ: PIL เลิกใช้แล้วและหมอนเป็นตัวตายตัวแทน


7
จริงๆ? imageคือไม่ได้โมดูล PIL ของคำถามก็แทน "โปรแกรม Django" (ที่เกิดขึ้นจะขึ้นอยู่บน PIL) อ้างอิง: github.com/francescortiz/image
Eric O Lebigot

8
ทำไมถึงมี upvotes imageอาจเป็นห้องสมุดที่มีประโยชน์ แต่ไม่เกี่ยวข้องกับคำถาม
gwg

2
pip install imageทำงานให้ฉัน ต้องขอบคุณ duckduckgo cache ที่เก็บคำตอบไว้ล่วงหน้า!
Zahra

วิธีนี้มีประโยชน์กับฉัน
Bravo Yeung

ฉันเคยเห็นหมอนที่อื่นแล้วหมอนที่นี่ cmdไม่คำนึงถึงขนาดตัวพิมพ์ แต่เป็นวิธีที่เหมาะสมในการเขียนสิ่งนี้อย่างไร
โยสิยาห์ Yoder

53

ในหมายเหตุอื่นฉันสามารถแนะนำการใช้หมอนซึ่งสามารถใช้งานร่วมกับ PIL ได้และขอแนะนำให้ใช้งานระบบที่ใหม่กว่า

เมื่อติดตั้งแล้วคุณสามารถทำได้

import PIL 

หรือ

from PIL import Image

ฯลฯ ..


ไม่มีคำตอบอื่นใดที่แก้ไขปัญหาที่ฉันมี แต่คนนี้ทำได้
MaxJ

49

ตอนแรกติดตั้ง Pillow ด้วย

pip install Pillow

หรือดังนี้

c:\Python35>python -m pip install Pillow

จากนั้นในรหัสหลามคุณสามารถโทร

from PIL import Image

"Pillow เป็นทางแยกของ PIL, Python Imaging Library ซึ่งไม่ได้รับการบำรุงรักษาอีกต่อไปอย่างไรก็ตามเพื่อรักษาความเข้ากันได้ย้อนหลังจึงใช้ชื่อโมดูลเก่า" จากการติดตั้งหมอน แต่ "ไม่มีโมดูลชื่อหมอน" - python2.7 - Windows 7 - python -m ติดตั้งหมอน


5
ฉันได้รับความพึงพอใจตามข้อกำหนดแล้ว แต่ยังคงเป็นปัญหาเดียวกัน
Saurabh Chandra Patel

21

บางครั้งฉันได้รับข้อผิดพลาดประเภทนี้ใช้ Unitest ในหลาม ทางออกคือการถอนการติดตั้งและติดตั้งแพคเกจเดียวกันบนสภาพแวดล้อมเสมือนของคุณ

ใช้คำสั่งนี้:

pip uninstall PIL

และ

pip install  PIL 

หากด้วยเหตุผลใดก็ตามที่คุณได้รับข้อผิดพลาดให้เพิ่ม sudo ที่จุดเริ่มต้นของคำสั่งและหลังจากกดปุ่ม Enter ให้พิมพ์รหัสผ่านของคุณ


2
มันก็ใช้ได้กับฉันเช่นกัน พิจารณาว่าอาจใช้สคริปต์ Python อื่นที่ใช้ PIL โดยอ้อมการเปลี่ยนคำสั่งนำเข้าไม่ใช่ตัวเลือกเสมอ
PropellerHead

สิ่งนี้ใช้ไม่ได้สำหรับฉันไม่พบที่เก็บที่เรียกว่า PIL (หรือ pil) อย่างไรก็ตามฉันวิ่ง "pip install Pillow" ซึ่งใช้งานได้ ความเข้าใจของฉันคือหมอนเป็นสาขาของ PIL
Seb Charrot

@TeeBasins Pillow คือ“ ส้อม PIL ที่เป็นมิตร” โดย Alex Clark และผู้มีส่วนร่วม
JC Rocamonde

1
ฉันได้รับ "ไม่พบรุ่นที่ตรงตามความต้องการ PIL (จากรุ่น
:)

20

สิ่งนี้ใช้ได้กับฉันใน Ubuntu 16.04:

sudo apt-get install python-imaging

ฉันพบสิ่งนี้ในWikibooksหลังจากค้นหาประมาณครึ่งชั่วโมง


3
คำถามนี้ถูกถามก่อน Ubuntu 16.04 แต่ฉันพบปัญหานี้ใน Ubunt 16.04 และแก้ไขด้วยคำแนะนำของคุณ
foool

ดีใจที่ฉันช่วยได้! : D
grooveplex

นี่เป็นปัญหาของฉันใน RPI ที่มีหน้าจอ OLED ที่แสดงผลลัพธ์ของหลาม
Ryan Ellis

10

ฉันใช้:

pip install Pillow 

และ pip ​​ที่ติดตั้ง PIL ใน Lib \ site-packages เมื่อฉันย้าย PIL ไปยัง Lib ทุกอย่างทำงานได้ดี ฉันใช้ Windows 10


9

บน windows 10 ฉันสามารถไปที่นั่นด้วย:

cd "C:\Users\<your username>\AppData\Local\Programs\Python\Python37-32" 
python -m pip install --upgrade pip     <-- upgrading from 10.something to 19.2.2.
pip3 uninstall pillow
pip3 uninstall PIL
pip3 install image

หลังจากนั้นใน python (python 3.7 ในกรณีของฉัน) มันใช้งานได้ดี ...

import PIL
from PIL import image

หลังจากอัปเกรด windows 7 เป็น windows 10 โปรแกรมหลามของฉันไม่ทำงาน แต่วิธีนี้แก้ไขได้ ขอบคุณ!
user1785594

8

คุณต้องติดตั้งอิมเมจและหมอนด้วยแพคเกจหลามของคุณ

ชนิด

python -m pip install image 

หรือเรียกใช้พรอมต์คำสั่ง (ใน windows) จากนั้นไปที่โฟลเดอร์สคริปต์

cd C:\Python27\Scripts

จากนั้นเรียกใช้คำสั่งด้านล่าง

pip install image


6

บน windows ลองตรวจสอบเส้นทางไปยังตำแหน่งของไลบรารี PIL ในระบบของฉันฉันสังเกตเห็นเส้นทางนั้น

\Python26\Lib\site-packages\pil instead of \Python26\Lib\site-packages\PIL  

หลังจากเปลี่ยนชื่อpilโฟลเดอร์เป็นPILฉันก็สามารถโหลดโมดูล PIL


ฉันยังได้รับข้อผิดพลาดในการนำเข้าเดียวกัน ฉันได้ติดตั้ง PIL โดยใช้ easy_install ในแพ็คเกจไซต์จะถูกติดตั้งในไดเรกทอรีที่มีชื่อ 'PIL-1.1.7-py2.7-win32.egg' ตามคำแนะนำของคุณฉันได้เปลี่ยนชื่อ dir เป็น PIL และใช้งานได้ ขอบคุณสำหรับความช่วยเหลือของคุณ @Komla
shashaDenovo

5

คุณจะต้องติดตั้งอิมเมจและหมอนด้วยแพ็คเกจไพ ธ อน มั่นใจได้เลยว่าบรรทัดคำสั่งจะดูแลทุกอย่างให้คุณ

ตี

python -m รูปภาพการติดตั้ง pip




1

ฉันใช้ conda-forge เพื่อติดตั้งหมอนรุ่น 5 และดูเหมือนว่าจะใช้ได้สำหรับฉัน:

conda install --channel conda-forge pillow=5

หมอนติดตั้ง conda ปกติใช้งานไม่ได้สำหรับฉัน


0

ฉันมีปัญหาเดียวกันขณะนำเข้า PIL และนำเข้าโมดูล ImageTk และรูปภาพเพิ่มเติม ฉันลองติดตั้ง PIL โดยตรงผ่าน pip แต่ไม่ประสบความสำเร็จ เช่นเดียวกับในระหว่างที่มีการแนะนำว่า PIL ได้ถูกลดขนาดลงดังนั้นพยายามติดตั้งหมอนผ่านจุดเล็ก ๆ เท่านั้น ติดตั้งหมอนสำเร็จแล้วนอกจากนี้แพคเกจ PIL ยังถูกสร้างขึ้นภายใต้พา ธ : python27 / Lib / site-packages /

ตอนนี้สามารถนำเข้าทั้ง Image และ ImageTk ได้


0

ฉันเพิ่งติดตั้ง Leap ฉันลอง openshot แล้วมันก็ยังไม่เริ่ม ดังนั้นมาที่นี่และพบข้อเสนอแนะให้เริ่มจาก Terminal เพื่อดูว่ามีข้อผิดพลาดหรือไม่

error missing mltข้อผิดพลาดที่ผมมีคือ ดังนั้นฉันติดตั้งpython-mltโมดูลจาก Yast และนำเข้ามันพยายามที่จะเริ่มต้น แต่ openshot ถัดไปกล่าวว่าmissing pil.

ฉันทำตามคำแนะนำหมอนเพื่อติดตั้งเนื่องจาก Yast ไม่พบ pil และ pil ที่นำเข้า ที่ไป ok Error missing goocanvasแต่ไม่ได้เริ่มต้นและแสดงให้เห็นว่า

ฉันติดตั้งgoocanvasด้วย Yast นำเข้ามาใน python และ Openshot ยิงขึ้น !!

มีข้อผิดพลาดมากมายในเทอร์มินัลไลค์missing Vimeoclientและมากมาย attributeerrorsก็จะดูว่ามันมีอิทธิพลต่อการทำงานกับมันหรือไม่


0

ฉันมีปัญหาเดียวกันและฉันแก้ไขได้โดยการตรวจสอบว่า pip รุ่นใด ( pip3 --version) คืออะไรจากนั้นฉันก็รู้ตัวว่ากำลังพิมพ์python<uncorrect version> filename.pyแทนpython<correct version> filename.py


-13

คุณอาจพลาดส่วนหัวหลามในการสร้าง pil หากคุณกำลังใช้ Ubuntu หรือสิ่งที่ชอบมันจะเป็นอะไรที่คล้าย ๆ

apt-get install python-dev

คุณกำลังใช้สถาปัตยกรรมใดหาก 64 บิตคุณอยู่ในโลกแห่งความเจ็บปวด ใช้รุ่น 32 บิตและใช้รุ่น precompiled อย่างไม่เป็นทางการจากที่นี่
Crankyadmin

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