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?

Asma Gheisari
quelle
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

Eric O Lebigot
quelle
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.

zhiming wang
quelle
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..

Damian
quelle
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

Orhan Celik
quelle
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.

Fernando Munoz
quelle
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.

Grooveplex
quelle
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.

Cromastro
quelle
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
Andrew Pate
quelle
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
Azdoud
quelle
8

Wenn Sie Anakonda verwenden:

conda install pillow
Conor Cosnett
quelle
1
Ich tat dies, es konnte immer noch nicht importiert werden PIL
John Ktejik
@johnktejik Welche Version von Python und Anaconda verwenden Sie?
Conor Cosnett
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.

Komla
quelle
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

Dipanshu Sehjal
quelle
4

Anstelle von PIL verwenden Sie Pillow, es funktioniert

easy_install Pillow

oder

pip install Pillow
Sai Gopi N.
quelle
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.

Geoff Perrin
quelle
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.

Prateek Jain
quelle
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.

Johan
quelle
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

Ori Barmatz
quelle
-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
Crankyadmin
quelle
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