web-dev-qa-db-fra.com

Aucun module nommé PIL

Je sais que PIL est obsolète, donc j’ai installé Pillow à la place, et pour des raisons de compatibilité ascendante, Pillow utilise toujours PIL comme nom de module . Voici mon pip freeze comme pour Pillow: Oreiller = 3.2.0

Voici comment je l'utilise dans mon code:

import  PIL as pillow
from PIL import Image

Comme quelqu'un l'a suggéré dans un post similaire, j'ai aussi essayé

import  PIL 
from PIL import Image

Aucun des deux ne fonctionne ..__ Les deux me donnent cette erreur:

ImportError: No module named PIL

Aussi, j'ai essayé:

import Image

ça me donne: 

ImportError: No module named Image

L'aide est vraiment appréciée!

22
FisherCoder

Selon mon commentaire car il vous a aidé et a répondu à votre problème:

Le problème que vous avez constaté est que vous disposiez de la version 1.5.6 du pip et que celle-ci dicte le mode de décompression des packages, ce qui détermine si les modules sont chargés correctement ou non.

Tout ce qui est nécessaire est:

pip install --upgrade pip

Ce qui permet à pip de se mettre à jour. 

Utilisez Sudo si vous utilisez Mac/Linux, sinon vous devrez probablement «Exécuter en tant qu’administrateur» sous Windows.

Et voila, vous pouvez maintenant importer correctement les modules PIL:

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

Dans mon cas, sous Windows, tout ce que je devais faire était de lancer:

pip install pillow

20
Arthur

Vous pouvez utiliser python -m pip install Pillow ou pip install Pillow

6
Kris Roofe

J'ai eu ce problème trop récemment, alors laissez-moi partager mon point de vue sur cela. Je suis sur Mac OS X Mojave 10.14. J'ai essayé d'exécuter le pip install pillow autant de fois à l'aveuglette sans trouver une compréhension plus profonde de l'endroit où ma python cherchait ses paquets.

J'ai rencontré cette erreur lors de la mise à niveau d'OS X High Sierra vers Mojave. Mon projet Scrapy, qui travaillait auparavant, a juste cessé de fonctionner correctement.

Notez que je n'ai pas utilisé virtualenv.

Tout d’abord, vous devez vérifier quel python est utilisé par le système. Dans le terminal, lancez

which -a python

Vous obtiendrez quelque chose de similaire à ceci:

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

Cela me conduit à chercher dans le dossier /usr/local/. Il s'avère qu'il y a un dossier dans lequel ma python cherche dans ses paquets, à l'intérieur de /usr/local/lib/python2.7 (python) ou de /usr/local/lib/python3.7 (python3)

Mon pip install pillow actuel installe le paquet PIL dans le répertoire /usr/local/lib/python2.7/site-packages, mais pas dans le /usr/local/lib/python3.7/site-packages

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

Cependant, comme mon projet utilise Python 3, l'erreur No module named PIL vous indique simplement que l'instance python3 que vous utilisez ne peut pas trouver la bibliothèque PIL.

J'ai utilisé Homebrew pour gérer les paquets système tels que node, python, etc. Ainsi, j'ai réinstallé python3 avec Homebrew avec:

brew reinstall python, puis exécutez pip3 install pillow.

Assurez-vous simplement que le paquetage PIL est correctement installé dans /usr/local/lib/python3.7/site-packages et vous devriez être prêt à partir. J'espère que ça aide quelqu'un.

0
Nicholas Lie