ImportError: Kein Modul namens PIL


207

Ich benutze diesen Befehl in der Shell, um PIL zu installieren:

easy_install PIL

dann laufe ich pythonund tippe das : import PIL. Aber ich bekomme diesen Fehler:

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

Ich hatte noch nie ein solches Problem. Was denkst du?


Ja, es funktioniert. Was ist Ihr Vorschlag?
Asma Gheisari

11
@RikPoggi Diese Seite der Dokumentation weist tatsächlich zur Verwendung an from PIL import Image, was nicht funktioniert.
Janne Karila

2
@Janne benutze einfach Bild importieren und PIL beginnt zu arbeiten.
Asma Gheisari

Zu diesem Zeitpunkt würde ich easy_install Pillowstattdessen empfehlen . Pillow ist eine Gabel von PIL, die eine bessere Verpackung hat und Python 3 unterstützt.
Lennart Regebro

1
Können Sie die akzeptierte Antwort in eine Antwort ändern, die Pillow empfiehlt? Wie @LennartRegebro sagte, ist dieses Paket langfristig besser.
Josiah Yoder

Antworten:


131

Bei einigen Installationen von PIL müssen Sie dies tun

import Image

statt import PIL(PIL wird in der Tat nicht immer auf diese Weise importiert). Da dies import Imagefür Sie funktioniert, bedeutet dies, dass Sie tatsächlich PIL installiert haben.

Es ist ungewöhnlich, einen anderen Namen für die Bibliothek und das Python-Modul zu haben, aber dies wurde für (einige Versionen von) PIL ausgewählt.

Weitere Informationen zur Verwendung dieses Moduls erhalten Sie im offiziellen Tutorial .

PS : Tatsächlich funktioniert es bei einigen Installationen , was die Verwirrung erhöht. Dies wird durch ein Beispiel aus der Dokumentation bestätigt , wie @JanneKarila herausgefunden hat, sowie durch einige neuere Versionen des MacPorts PIL-Pakets (1.1.7).import PIL


140
pip install imagevon Zhimings Antwort funktionierte für mich.
Jim Schubert

9
yup, @JimSchubert hat es gesagt. pip install imagevon @zhimmingwangarbeitete auch für mich
Rafael Ruiz Muñoz

5
Aber imageist nicht PIL (wie in der Frage), es ist ein anderes Modul. Referenz: github.com/francescortiz/image . Vermisse ich hier etwas?
Eric O Lebigot

2
Sie sollten überprüfen, ob Ihre pipInstallation für den von Ihnen verwendeten Python-Interpreter erfolgt. pip -Vsagt Ihnen, wo es installiert wird. Zeigt which pythonIhnen unter Unix an, wo sich Ihr pythonBefehl befindet. Die beiden sollten gut genug zusammenpassen. Oder besser: Hier python -c 'import sys; print sys.path'erfahren Sie, wo Ihr pythonBefehl nach Modulen sucht ( print(sys.path)für Python 3).
Eric O Lebigot

1
@EricOLebigot Ihre ist eine scheinbar unterschätzte Lösung, Ihr Vorschlag hat mein Problem perfekt gelöst und mich daran gehindert, andere Pakete herunterzuladen
Scott Anderson

280

Führen Sie in der Shell Folgendes aus:

pip install Pillow

Achtung: PIL ist veraltet und Pillow ist der Nachfolger.


7
"Ja wirklich?" imageist nicht das PIL-Modul der Frage, sondern eine "Django-Anwendung" (die zufällig auf PIL basiert ). Referenz: github.com/francescortiz/image .
Eric O Lebigot

8
Warum hat dies positive Stimmen? imagemag eine nützliche Bibliothek sein, hat aber nichts mit der Frage zu tun.
GWG

2
pip install imagearbeitete für mich. danke an duckduckgo cache für das festhalten an der vorbearbeiteten antwort!
Zahra

Diese Methode ist hilfreich für mich.
Bravo Yeung

Ich habe PILLOW an anderen Orten gesehen, Pillow hier. cmdunterscheidet nicht zwischen Groß- und Kleinschreibung, aber wie wird dies bevorzugt geschrieben?
Josiah Yoder

53

In einem anderen Sinne kann ich die Verwendung von Pillow sehr empfehlen abwärtskompatibel mit PIL ist und besser gewartet wird / auf neueren Systemen funktioniert.

Wenn das installiert ist, können Sie tun

import PIL 

oder

from PIL import Image

etc..


Keine der anderen Antworten behebt das Problem, das ich hatte, aber diese tat es.
MaxJ

49

Installieren Sie zuerst Pillow with

pip install Pillow

oder wie folgt

c:\Python35>python -m pip install Pillow

Dann können Sie im Python-Code aufrufen

from PIL import Image

"Pillow ist eine Abzweigung von PIL, der Python Imaging Library, die nicht mehr verwaltet wird. Um die Abwärtskompatibilität zu gewährleisten, wird jedoch der alte Modulname verwendet." Vom Kissen installiert, aber "kein Modul namens Kissen" - Python2.7 - Windows 7 - Python -m Installationskissen


5
Ich bekomme Anforderung bereits erfüllt, aber immer noch das gleiche Problem
Saurabh Chandra Patel

21

Manchmal erhalte ich diese Art von Fehler beim Ausführen eines Unitest in Python. Die Lösung besteht darin, dasselbe Paket in Ihrer virtuellen Umgebung zu deinstallieren und zu installieren.

Verwenden dieser Befehle:

pip uninstall PIL

und

pip install  PIL 

Wenn Sie aus irgendeinem Grund eine Fehlermeldung erhalten, fügen Sie am Anfang des Befehls sudo hinzu und geben Sie nach Eingabe der Eingabetaste Ihr Kennwort ein.


2
Das funktioniert auch bei mir. Bedenken Sie, dass möglicherweise andere Python-Skripte verwendet werden, die indirekt PIL verwenden. Das Ändern der Import-Anweisung ist nicht immer eine Option.
PropellerHead

Dies hat bei mir nicht funktioniert, es konnte kein Repository namens PIL (oder pil) gefunden werden. Allerdings habe ich "pip install Pillow" ausgeführt, was funktioniert hat. Mein Verständnis ist, dass Pillow ein Zweig von PIL ist.
Seb Charrot

@TeeBasins Pillow ist die „freundliche PIL-Gabel“ von Alex Clark und seinen Mitwirkenden.
JC Rocamonde

1
Ich erhalte die
Meldung

20

Dies funktionierte für mich unter Ubuntu 16.04:

sudo apt-get install python-imaging

Ich fand dies auf Wikibooks, nachdem ich ungefähr eine halbe Stunde lang gesucht hatte.


3
Diese Frage wurde vor Ubuntu 16.04 gestellt, aber ich bin auf dieses Problem in Ubunt 16.04 gestoßen und habe es mit Ihrem Vorschlag behoben.
Foool

Froh, dass ich helfen konnte! : D
Grooveplex

Dies war mein Problem auf einem RPI mit einem OLED-Bildschirm mit Python-Ausgabe
Ryan Ellis

10

Ich benutzte:

pip install Pillow 

und pip installierte PIL in Lib \ site-Paketen. Als ich PIL nach Lib verlegte, funktionierte alles einwandfrei. Ich bin auf Windows 10.


9

Unter Windows 10 gelang es mir, dorthin zu gelangen mit:

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

Danach funktioniert dies in Python (in meinem Fall in Python 3.7) einwandfrei ...

import PIL
from PIL import image

Nach dem Upgrade von Windows 7 auf Windows 10 funktionierte mein Python-Programm nicht, aber diese Methode löste es. Vielen Dank!
user1785594

8

Sie müssen Image und Pillow mit Ihrem Python-Paket installieren.

Art

python -m pip install image 

oder führen Sie die Eingabeaufforderung (in Windows) aus und navigieren Sie zum Skriptordner

cd C:\Python27\Scripts

Führen Sie dann den folgenden Befehl aus

pip install image


6

Versuchen Sie unter Windows, den Pfad zum Speicherort der PIL-Bibliothek zu überprüfen. Auf meinem System bemerkte ich, dass der Pfad war

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

Nach dem Umbenennen des pilOrdners in PILkonnte ich das PIL-Modul laden.


Ich habe auch den gleichen Importfehler erhalten. Ich habe PIL mit easy_install installiert. In Site-Paketen wurde es in einem Verzeichnis mit dem Namen 'PIL-1.1.7-py2.7-win32.egg' installiert. Gemäß Ihrem Vorschlag habe ich den Verzeichnisnamen in PIL geändert und es hat funktioniert. Vielen Dank für Ihre Hilfe @Komla.
ShashaDenovo

5

Sie müssen Image und Pillow mit Ihrem Python-Paket installieren. Seien Sie versichert, die Kommandozeile kümmert sich um alles für Sie.

Schlagen

python -m pip Install Image


4

Anstelle von PIL verwenden Sie Pillow, es funktioniert

easy_install Pillow

oder

pip install Pillow


1

Ich habe conda-forge verwendet, um die Kissenversion 5 zu installieren, und das schien für mich zu funktionieren:

conda install --channel conda-forge pillow=5

Das normale Conda Install Kissen hat bei mir NICHT funktioniert.


0

Ich hatte das gleiche Problem beim Importieren von PIL und beim weiteren Importieren der Module ImageTk und Image. Ich habe auch versucht, PIL direkt über pip zu installieren. aber es konnte kein Erfolg erzielt werden. Da dazwischen vermutet wurde, dass PIL entkorrigiert wurde, wurde daher versucht, das Kissen nur durch die Rohrleitung zu installieren. Das Kissen wurde erfolgreich installiert. Außerdem wurde das PIL-Paket unter dem Pfad erstellt: python27 / Lib / site-packages /.

Jetzt konnten sowohl Image als auch ImageTk importiert werden.


0

Ich habe kürzlich Leap installiert. Ich habe versucht, OpenShot und es hat nicht gestartet. Also kam ich hierher und fand einen Vorschlag, vom Terminal aus zu starten, um zu sehen, ob es einen Fehler gab.

Der Fehler, den ich hatte, war error missing mlt. Also habe ich das python-mltModul von Yast installiert und importiert, versucht zu starten, aber der nächste OpenShot sagtemissing pil.

Ich folgte dem Pillow-Vorschlag zur Installation, da Yast keinen Pil finden und Pil importieren konnte. Das ging ok aber fing nicht an und zeigte Error missing goocanvas.

Das habe ich goocanvasmit Yast installiert , in Python importiert und Openshot gestartet !!

Mit vielen Fehlern im Terminal wie missing Vimeoclientund vielen attributeerrors. Nun, ich werde sehen, ob es irgendeinen Einfluss darauf hat, damit zu arbeiten.


0

Ich hatte das gleiche Problem und habe es behoben, indem ich überprüft habe, welche Version pip ( pip3 --version) ist, und dann festgestellt habe , dass ich python<uncorrect version> filename.pystatt tippepython<correct version> filename.py


-13

Wahrscheinlich fehlen Ihnen die Python-Header, um pil zu erstellen. Wenn Sie Ubuntu oder ähnliches verwenden, ist es so etwas wie

apt-get install python-dev

Welche Architektur verwenden Sie, wenn Sie sich mit 64 Bit in einer Welt voller Verletzungen befinden? Verwenden Sie eine 32-Bit-Version und verwenden Sie die inoffizielle vorkompilierte Version von hier
Crankyadmin

Es ist 32 Bit, ich habe dies mehrere Male installiert, aber diesmal habe ich dieses Problem
Asma Gheisari
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.