wake-up-neo.net

Kein Modul mit dem Namen PIL

Ich weiß, dass PIL veraltet ist, also habe ich stattdessen Pillow installiert. Aus Gründen der Abwärtskompatibilität verwendet Pillow weiterhin PIL als Modulnamen ..__ Hier ist mein pip freeze für Pillow: Kissen = 3.2.0

So verwende ich es in meinem Code:

import  PIL as pillow
from PIL import Image

Wie jemand in einem ähnlichen Beitrag vorschlug, versuchte ich es auch

import  PIL 
from PIL import Image

Weder funktioniert . Beide geben mir diesen Fehler:

ImportError: No module named PIL

Ich habe auch versucht:

import Image

es gibt mir: 

ImportError: No module named Image

Hilfe wird sehr geschätzt!

22
FisherCoder

Laut meinem Kommentar hat es dir geholfen und dein Problem beantwortet:

Das Problem, das Sie gesehen haben, ist, dass Sie die Pip-Version 1.5.6 hatten und die Pip-Version bestimmt, wie Pakete entpackt werden, was letztendlich bestimmt, ob Module ordnungsgemäß geladen werden oder nicht.

Alles was benötigt wird ist:

pip install --upgrade pip

Was erlaubt pip sich selbst zu verbessern. 

Verwenden Sie Sudo, wenn Sie mit Mac/Linux arbeiten. Andernfalls müssen Sie unter Windows als Administrator ausführen.

Und voila, Sie können jetzt die PIL-Module richtig importieren:

Python 2.7.12 (default, Jun 29 2016, 13:16:51)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>> from PIL import Image
>>> Image
<module 'PIL.Image' from '/usr/local/lib/python2.7/site-packages/PIL/Image.pyc'>
10
Signus

In meinem Fall musste ich unter Windows nur Folgendes ausführen:

pip install pillow

20
Arthur

Sie können python -m pip install Pillow oder pip install Pillow verwenden.

6
Kris Roofe

Ich habe dieses Problem vor kurzem, also lassen Sie mich meine Meinung dazu teilen. Ich bin auf Mac OS X Mojave 10.14. Ich habe versucht, den pip install pillow so oft blind auszuführen, ohne ein tieferes Verständnis dafür zu finden, wo meine python nach ihren Paketen sucht.

Dieser Fehler ist beim Upgrade von OS X High Sierra auf Mojave aufgetreten. Mein vorher laufendes Scrapy-Projekt lief einfach nicht mehr richtig.

Beachten Sie, dass ich virtualenv nicht verwendet habe.

Zuerst müssen Sie prüfen, welcher Python vom System verwendet wird. Führen Sie im Terminal aus

which -a python

Sie erhalten etwas Ähnliches:

nicholass-mbp:~ nicholaslie$ which -a python /usr/local/bin/python /usr/local/bin/python /usr/bin/python

Dies führt mich zur Suche im /usr/local/-Ordner. Es stellt sich heraus, dass es einen Ordner gibt, in dem meine python ihre Pakete durchsucht, und der sich in /usr/local/lib/python2.7 (python) oder /usr/local/lib/python3.7 (python3) befindet.

Was ich derzeit pip install pillow mache, ist die Installation des PIL-Pakets im /usr/local/lib/python2.7/site-packages-Verzeichnis, jedoch nicht in /usr/local/lib/python3.7/site-packages.

 PIL in /usr/local/lib/python2.7/site-packages

Da mein Projekt jedoch Python 3 verwendet, teilt Ihnen No module named PIL error einfach mit, dass die python3-Instanz, die Sie verwenden, die PIL-Bibliothek nicht finden kann.

Ich habe Homebrew für die Verwaltung meiner Systempakete wie node, python usw. verwendet. Was ich getan habe, war, python3 mit Homebrew neu zu installieren:

brew reinstall python und dann pip3 install pillow ausführen.

Stellen Sie einfach sicher, dass das PIL-Paket ordnungsgemäß in /usr/local/lib/python3.7/site-packages installiert ist, und Sie sollten bereit sein. Hoffe das hilft jemandem.

0
Nicholas Lie

OSX

Sudo easy_install pip
pip install Pillow --user