ImportError: aucun module nommé PIL

207

J'utilise cette commande dans le shell pour installer PIL:

easy_install PIL

alors je cours pythonet tapez ceci: import PIL. Mais je reçois cette erreur:

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

Je n'ai jamais eu un tel problème, qu'en pensez-vous?

Asma Gheisari
la source
oui, cela fonctionne. quelle est votre suggestion?
Asma Gheisari
11
@RikPoggi Cette page de documentation indique en fait à utiliser from PIL import Image, ce qui ne fonctionne pas.
Janne Karila
2
@Janne utilise simplement Import Image et PIL commence à fonctionner.
Asma Gheisari
À ce moment, je recommanderais easy_install Pillowplutôt. L'oreiller est une fourchette de PIL qui a un meilleur emballage et prend en charge Python 3.
Lennart Regebro
1
Pouvez-vous changer la réponse acceptée en une réponse qui recommande l'oreiller? Comme l'a dit @LennartRegebro, ce package est meilleur à long terme.
Josiah Yoder

Réponses:

131

Sur certaines installations de PIL, vous devez faire

import Image

au lieu de import PIL(PIL n'est en fait pas toujours importé de cette façon). Puisque cela import Imagefonctionne pour vous, cela signifie que vous avez en fait installé PIL.

Avoir un nom différent pour la bibliothèque et le module Python est inhabituel, mais c'est ce qui a été choisi pour (certaines versions de) PIL.

Vous pouvez obtenir plus d'informations sur l'utilisation de ce module à partir du didacticiel officiel .

PS : En fait, sur certaines installations, import PIL cela fonctionne, ce qui ajoute à la confusion. Ceci est confirmé par un exemple de la documentation , comme l'a découvert @JanneKarila, ainsi que par certaines versions plus récentes du package MacPorts PIL (1.1.7).

Eric O Lebigot
la source
141
pip install imagede la réponse de Zhiming a fonctionné pour moi.
Jim Schubert
9
yup, @JimSchubert l'a dit. pip install imagede @zhimmingwangtravaillé pour moi aussi
Rafael Ruiz Muñoz
5
Mais ce imagen'est pas PIL (comme dans la question), c'est un module différent. Référence: github.com/francescortiz/image . Est-ce que j'ai râté quelque chose?
Eric O Lebigot
2
Vous devez vérifier que vos pipinstallations pour l'interpréteur python que vous utilisez. pip -Vvous indique où il s'installe. Sous Unix, which pythonvous indique où se trouve votre pythoncommande. Les deux devraient correspondre assez bien. Ou mieux: python -c 'import sys; print sys.path'vous indiquera où votre pythoncommande recherche les modules ( print(sys.path), pour Python 3).
Eric O Lebigot
1
@EricOLebigot Yours est une solution apparemment sous-estimée, votre suggestion a parfaitement résolu mon problème et m'a empêché de télécharger d'autres packages
Scott Anderson
282

En shell, exécutez:

pip install Pillow

Attention: PIL est obsolète et l' oreiller est le successeur.

zhiming wang
la source
7
Vraiment? imagen'est pas le module PIL de la question, c'est plutôt une "application Django" (qui se trouve être basée sur PIL). Référence: github.com/francescortiz/image .
Eric O Lebigot
8
Pourquoi cela a-t-il des votes positifs? imagepeut être une bibliothèque utile, mais elle n'est pas liée à la question.
gwg
2
pip install imagetravaillé pour moi. merci à duckduckgo cache d'avoir conservé la réponse de pré-édition!
Zahra
Cette méthode est utile pour moi.
Bravo Yeung
J'ai vu OREILLER ailleurs, Oreiller ici. cmdn'est pas sensible à la casse, mais quelle est la manière préférée d'écrire cela?
Josiah Yoder
54

Sur une note différente, je peux fortement recommander l'utilisation de Pillow qui est rétrocompatible avec PIL et est mieux entretenu / fonctionnera sur les nouveaux systèmes.

Une fois installé, vous pouvez faire

import PIL 

ou

from PIL import Image

etc..

Damian
la source
Aucune des autres réponses n'a résolu le problème que j'avais, mais celui-ci l'a fait.
MaxJ
51

Installez d'abord Pillow avec

pip install Pillow

ou comme suit

c:\Python35>python -m pip install Pillow

Ensuite, en code python, vous pouvez appeler

from PIL import Image

"Pillow est un fork de PIL, la bibliothèque d'imagerie Python, qui n'est plus maintenue. Cependant, pour conserver la compatibilité descendante, l'ancien nom de module est utilisé." À partir de l' oreiller installé, mais "aucun module nommé oreiller" - python2.7 - Windows 7 - oreiller d'installation python -m

Orhan Celik
la source
5
je reçois déjà l'exigence mais toujours le même problème
Saurabh Chandra Patel
21

Parfois, je reçois ce type d'erreur en exécutant un Unitest en python. La solution consiste à désinstaller et installer le même package sur votre environnement virtuel.

En utilisant ces commandes:

pip uninstall PIL

et

pip install  PIL 

Si pour une raison quelconque, vous obtenez une erreur, ajoutez sudo au début de la commande et après avoir tapé, saisissez votre mot de passe.

Fernando Munoz
la source
2
Cela fonctionne aussi pour moi. Considérez que l'on peut utiliser d'autres scripts Python qui utilisent indirectement PIL, la modification de l'instruction Import n'est pas toujours une option.
PropellerHead
Cela n'a pas fonctionné pour moi, il n'a pas pu trouver un référentiel appelé PIL (ou pil). Cependant, j'ai couru "pip install Pillow" qui a fonctionné. Ma compréhension est que Pillow est une branche de PIL.
Seb Charrot
@TeeBasins Pillow est la «fourchette PIL conviviale» d'Alex Clark and Contributors.
JC Rocamonde
1
J'obtiens "Impossible de trouver une version qui satisfait à l'exigence PIL (à partir des versions
:)
20

Cela a fonctionné pour moi sur Ubuntu 16.04:

sudo apt-get install python-imaging

J'ai trouvé cela sur Wikibooks après avoir cherché pendant environ une demi-heure.

grooveplex
la source
3
Cette question a été posée avant Ubuntu 16.04, mais j'ai rencontré ce problème dans Ubuntu 16.04 et l'ai résolu avec votre suggestion.
foool
Heureux d'avoir pu aider! : D
grooveplex
C'était mon problème sur un RPI avec un écran OLED affichant la sortie python
Ryan Ellis
10

J'ai utilisé:

pip install Pillow 

et pip a installé PIL dans Lib \ site-packages. Quand j'ai déménagé PIL à Lib, tout a bien fonctionné. Je suis sur Windows 10.

cromastro
la source
9

Sur Windows 10, j'ai réussi à y arriver avec:

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

après quoi en python (python 3.7 dans mon cas) cela fonctionne très bien ...

import PIL
from PIL import image
Andrew Pate
la source
Après la mise à niveau de Windows 7 vers Windows 10, mon programme Python n'a pas fonctionné mais cette méthode l'a résolu. Merci!
user1785594
8

vous devez installer Image et pillow avec votre package python.

type

python -m pip install image 

ou exécutez l'invite de commande (dans Windows), puis accédez au dossier des scripts

cd C:\Python27\Scripts

puis exécutez la commande ci-dessous

pip install image
azdoud
la source
8

si vous utilisez anaconda:

conda install pillow
Conor Cosnett
la source
1
Je l'ai fait, il ne
pouvait
@johnktejik quelle version de Python et d'Anaconda utilisez-vous?
Conor Cosnett
6

Sous Windows, essayez de vérifier le chemin d'accès à l'emplacement de la bibliothèque PIL. Sur mon système, j'ai remarqué que le chemin était

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

après avoir renommé le pildossier en PIL, j'ai pu charger le module PIL.

Komla
la source
J'obtenais également la même erreur d'importation. J'ai installé PIL en utilisant easy_install. Dans les packages de site, il a été installé dans le répertoire portant le nom «PIL-1.1.7-py2.7-win32.egg». Selon votre suggestion, j'ai changé le nom du répertoire en PIL et cela a fonctionné. Merci pour votre aide @Komla.
shashaDenovo
5

Vous devrez installer Image et oreiller avec votre package python. Rassurez-vous, la ligne de commande s'occupe de tout pour vous.

Frappé

image d'installation de python -m pip

Dipanshu Sehjal
la source
4

au lieu d' utiliser PIL Pillow ça marche

easy_install Pillow

ou

pip install Pillow
Sai Gopi N
la source
1

J'ai utilisé conda-forge pour installer la version 5 de l'oreiller, et cela semblait fonctionner pour moi:

conda install --channel conda-forge pillow=5

l'oreiller d'installation de conda normal n'a PAS fonctionné pour moi.

Geoff Perrin
la source
0

J'ai eu le même problème lors de l'importation de PIL et de l'importation des modules ImageTk et Image. J'ai également essayé d'installer PIL directement via pip. mais aucun succès n'a pu être obtenu. Comme entre les deux, il a été suggéré que le PIL a été déprécié, donc, a essayé d'installer l'oreiller à travers le pip uniquement. oreiller a été installé avec succès, en outre, le package PIL a été créé sous le chemin: python27 / Lib / site-packages /.

Maintenant, Image et ImageTk pouvaient être importés.

Prateek Jain
la source
0

J'ai récemment installé Leap. J'ai essayé openshot et ça n'a pas commencé. Je suis donc venu ici et j'ai trouvé une suggestion pour démarrer à partir du terminal pour voir s'il y avait une erreur.

L'erreur que j'ai eue était error missing mlt. J'ai donc installé le python-mltmodule depuis Yast et l' ai importé, j'ai essayé de démarrer mais le prochain openshot a ditmissing pil.

J'ai suivi la suggestion d'oreiller à installer car Yast n'a trouvé aucun pil et importé. Cela s'est bien passé mais n'a pas commencé et a montré Error missing goocanvas.

J'ai installé goocanvasavec Yast, je l'ai importé en python et Openshot a démarré !!

Avec beaucoup d'erreurs dans le terminal comme missing Vimeoclientet beaucoup attributeerrors. Eh bien, je verrai si cela a une influence sur le travail avec.

Johan
la source
0

J'ai eu le même problème et je l'ai résolu en vérifiant la version pip ( pip3 --version), puis en réalisant que je tape python<uncorrect version> filename.pyau lieu depython<correct version> filename.py

Ori Barmatz
la source
-13

Vous manquez probablement les en-têtes python pour construire pil. Si vous utilisez Ubuntu ou des goûts, ce sera quelque chose comme

apt-get install python-dev
Crankyadmin
la source
Quelle architecture utilisez-vous, si 64 bits vous êtes dans un monde de mal. Utilisez une version 32 bits et utilisez la version précompilée non officielle d' ici
Crankyadmin
C'est 32 bits, je l'ai installé plusieurs fois, mais cette fois j'ai ce problème
Asma Gheisari