ImportError: nessun modulo denominato PIL


207

Uso questo comando nella shell per installare PIL:

easy_install PIL

poi corro pythone digitare: import PIL. Ma ottengo questo errore:

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

Non ho mai avuto un simile problema, cosa ne pensi?


Sì, funziona. Qual è il tuo suggerimento?
Asma Gheisari,

11
@RikPoggi Questa pagina di documentazione effettivamente dice di usare from PIL import Image, che non funziona.
Janne Karila,

2
@Janne usa solo Importa immagine e PIL inizia a funzionare.
Asma Gheisari,

In questo momento lo consiglierei easy_install Pillowinvece. Pillow è un fork di PIL che ha un packaging migliore e supporta Python 3.
Lennart Regebro,

1
Puoi cambiare la risposta accettata con una che raccomanda Pillow? Come ha detto @LennartRegebro, questo pacchetto è meglio a lungo termine.
Josiah Yoder,

Risposte:


131

Su alcune installazioni di PIL, devi farlo

import Image

invece di import PIL(PIL non è infatti sempre importato in questo modo). Dal momento che import Imagefunziona per te, questo significa che hai effettivamente installato PIL.

Avere un nome diverso per la libreria e il modulo Python è insolito, ma questo è ciò che è stato scelto per (alcune versioni di) PIL.

Puoi ottenere ulteriori informazioni su come utilizzare questo modulo dal tutorial ufficiale .

PS : In realtà, in alcune installazioni, import PIL non lavoro, che aumenta la confusione. Ciò è confermato da un esempio della documentazione , come ha scoperto @JanneKarila, e anche da alcune versioni più recenti del pacchetto PIL MacPorts (1.1.7).


141
pip install imagedalla risposta di Zhiming ha funzionato per me.
Jim Schubert,

9
Sì, lo ha detto @JimSchubert. pip install imagedal lavoro anche @zhimmingwangper me
Rafael Ruiz Muñoz,

5
Ma nonimage è PIL (come nella domanda), è un modulo diverso. Riferimento: github.com/francescortiz/image . Mi sto perdendo qualcosa, qui?
Eric O Lebigot,

2
Dovresti verificare che le tue pipinstallazioni per l'interprete Python che stai utilizzando. pip -Vti dice dove si installa. Sotto Unix, which pythonti dice dove si trova il tuo pythoncomando. I due dovrebbero abbinarsi abbastanza bene. O meglio: python -c 'import sys; print sys.path'ti dirà dove il tuo pythoncomando cerca i moduli ( print(sys.path), per Python 3).
Eric O Lebigot,

1
@EricOLebigot La tua è una soluzione apparentemente poco apprezzata, il tuo suggerimento ha risolto perfettamente il mio problema e mi ha impedito di scaricare altri pacchetti
Scott Anderson,

281

Nella shell, esegui:

pip install Pillow

Attenzione: PIL è deprecato e il cuscino è il successore.


7
Veramente? nonimage è il modulo PIL della domanda, è invece una "applicazione Django" (che sembra essere basata su PIL). Riferimento: github.com/francescortiz/image .
Eric O Lebigot,

8
Perché questo ha voti positivi? imagepuò essere una libreria utile, ma non è correlata alla domanda.
gwg

2
pip install imageha funzionato per me. grazie alla cache duckduckgo per aver mantenuto la risposta pre-modifica!
Zahra,

Questo metodo è utile per me.
Bravo Yeung,

Ho visto CUSCINO in altri posti, cuscino qui. cmdnon fa distinzione tra maiuscole e minuscole, ma qual è il modo preferito di scrivere questo?
Josiah Yoder,

53

In una nota diversa, posso consigliare vivamente l'uso di Pillow che è retrocompatibile con PIL ed è meglio mantenuto / funzionerà su sistemi più recenti.

Quando è installato puoi farlo

import PIL 

o

from PIL import Image

eccetera..


Nessuna delle altre risposte ha risolto il problema che avevo, ma questo l'ha fatto.
MaxJ,

49

Inizialmente installa Pillow con

pip install Pillow

o come segue

c:\Python35>python -m pip install Pillow

Quindi nel codice Python puoi chiamare

from PIL import Image

"Pillow è un fork di PIL, la libreria di imaging Python, che non viene più mantenuta. Tuttavia, per mantenere la compatibilità con le versioni precedenti, viene utilizzato il vecchio nome del modulo." Dal cuscino installato, ma "nessun modulo chiamato cuscino" - python2.7 - Windows 7 - python -m installa il cuscino


5
sto ottenendo il requisito già soddisfatto ma sempre lo stesso problema
Saurabh Chandra Patel

21

A volte ottengo questo tipo di errore durante l'esecuzione di un Unitest in Python. La soluzione è disinstallare e installare lo stesso pacchetto nel proprio ambiente virtuale.

Usando questo comando:

pip uninstall PIL

e

pip install  PIL 

Se per qualsiasi motivo viene visualizzato un errore, aggiungere sudo all'inizio del comando e dopo aver premuto Invio digitare la password.


2
Questo funziona anche per me. Considera che si potrebbero usare altri script Python che usano indirettamente PIL, cambiare l'istruzione Import non è sempre un'opzione.
Elica:

Questo non ha funzionato per me, non è stato possibile trovare un repository chiamato PIL (o pil). Tuttavia ho eseguito "pip install Pillow" che ha funzionato. La mia comprensione è che Pillow è un ramo di PIL.
Seb Charrot,

@TeeBasins Pillow è la "forca PIL amichevole" di Alex Clark e Contributors.
JC Rocamonde,

1
Ottengo "Impossibile trovare una versione che soddisfi il requisito PIL (dalle versioni
:)

20

Questo ha funzionato per me su Ubuntu 16.04:

sudo apt-get install python-imaging

L'ho trovato su Wikibooks dopo aver cercato per circa mezz'ora.


3
Questa domanda è stata posta prima di Ubuntu 16.04, ma ho riscontrato questo problema in Ubunt 16.04 e l'ho risolto con il tuo suggerimento.
sciocco

Sono contento di poterti aiutare! : D
grooveplex,

Questo era il mio problema su un RPI con uno schermo OLED che mostrava l'output di Python
Ryan Ellis

10

Ero solito:

pip install Pillow 

e pip ha installato PIL in pacchetti Lib \ site. Quando ho spostato PIL in Lib tutto ha funzionato bene. Sono su Windows 10.


9

Su Windows 10 sono riuscito ad arrivarci con:

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

dopodiché in python (python 3.7 nel mio caso) funziona perfettamente ...

import PIL
from PIL import image

Dopo aver aggiornato Windows 7 a Windows 10 il mio programma Python non ha funzionato ma questo metodo ha risolto il problema. Grazie!
user1785594

8

devi installare Image e pillow con il tuo pacchetto python.

genere

python -m pip install image 

oppure esegui il prompt dei comandi (in Windows), quindi vai alla cartella degli script

cd C:\Python27\Scripts

quindi esegui sotto il comando

pip install image


6

Su Windows, prova a controllare il percorso della posizione della libreria PIL. Sul mio sistema, ho notato che il percorso era

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

dopo aver rinominato la pilcartella in PIL, sono stato in grado di caricare il modulo PIL.


Inoltre stavo ottenendo lo stesso errore di importazione. Ho installato PIL usando easy_install. Nei pacchetti del sito è stato installato nella directory con il nome "PIL-1.1.7-py2.7-win32.egg". Come da tuo suggerimento, ho cambiato il nome della directory in PIL e ha funzionato. Grazie per l'aiuto @Komla.
Shasha Denovo,

5

Dovrai installare Image e pillow con il tuo pacchetto Python. State tranquilli, la riga di comando si occuperà di tutto per voi.

Colpire

python -m pip installa l'immagine


4

invece di utilizzare PIL Pillow funziona

easy_install Pillow

o

pip install Pillow


1

Ho usato conda-forge per installare la versione 5 del cuscino, e sembrava funzionare per me:

conda install --channel conda-forge pillow=5

il normale cuscino per installazione conda NON ha funzionato per me.


0

Ho avuto lo stesso problema durante l'importazione di PIL e l'importazione ulteriore dei moduli ImageTk e Image. Ho anche provato a installare PIL direttamente tramite pip. ma non si potrebbe raggiungere il successo. Come in mezzo è stato suggerito che PIL è stato deprecato, quindi, ho cercato di installare il cuscino solo attraverso il pip. pillow è stato installato con successo, inoltre, il pacchetto PIL è stato realizzato sotto il percorso: python27 / Lib / site-pacchetti /.

Ora è possibile importare sia Image che ImageTk.


0

Di recente ho installato Leap. Ho provato openshot e non è iniziato. Quindi sono venuto qui e ho trovato un suggerimento per iniziare dal Terminal per vedere se c'erano errori.

L'errore che ho avuto è stato error missing mlt. Quindi ho installato ilpython-mlt modulo da Yast e l'ho importato, ho provato ad avviarlo ma il prossimo openshot ha dettomissing pil.

Ho seguito il suggerimento Pillow da installare perché Yast non è riuscito a trovare alcun pil e pil importato. Andò bene ma non iniziò e mostròError missing goocanvas .

L'ho installato goocanvas con Yast, l'ho importato in Python e OpenShot si è acceso !!

Con molti errori nel terminale missing Vimeocliente molti attributeerrors. Bene, vedremo se ha qualche influenza lavorando con esso.


0

Ho avuto lo stesso problema e l'ho risolto controllando quale versione pip ( pip3 --version) è, quindi ho realizzato che sto digitando python<uncorrect version> filename.pyinvece dipython<correct version> filename.py


-13

Probabilmente ti mancano le intestazioni di Python per costruire pil. Se stai usando Ubuntu o simili, sarà qualcosa del genere

apt-get install python-dev

Quale architettura stai usando, se sei a 64 bit per un mondo ferito. Utilizzare una versione a 32 bit e utilizzare la versione precompilata non ufficiale da qui
Crankyadmin

È a 32 bit, l'ho installato più volte, ma questa volta ho questo problema
Asma Gheisari,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.