ImportError: ningún módulo llamado PIL


207

Uso este comando en el shell para instalar PIL:

easy_install PIL

entonces corro python y escriba lo siguiente: import PIL. Pero me sale este error:

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

Nunca he tenido ese problema, ¿qué te parece?


Sí, funciona. ¿Cuál es su sugerencia?
Asma Gheisari

11
@RikPoggi Esta página de documentación realmente indica que se use from PIL import Image, lo que no funciona.
Janne Karila

2
@Janne solo usa Importar imagen, y PIL comienza a funcionar.
Asma Gheisari

En este momento lo recomendaría en su easy_install Pillowlugar. Pillow es un tenedor de PIL que tiene un mejor empaque y es compatible con Python 3.
Lennart Regebro

1
¿Puedes cambiar la respuesta aceptada a una que recomiende Pillow? Como dijo @LennartRegebro, este paquete es mejor a largo plazo.
Josiah Yoder

Respuestas:


131

En algunas instalaciones de PIL, debe hacer

import Image

en lugar de import PIL(PIL no siempre se importa de esta manera). Dado que import Imagefunciona para usted, esto significa que, de hecho, ha instalado PIL.

Tener un nombre diferente para la biblioteca y el módulo Python es inusual, pero esto es lo que se eligió para (algunas versiones de) PIL.

Puede obtener más información sobre cómo usar este módulo en el tutorial oficial .

PS : De hecho, en algunas instalaciones, import PIL hace el trabajo, que se suma a la confusión. Esto se confirma con un ejemplo de la documentación , como descubrió @JanneKarila, y también con algunas versiones más recientes del paquete MacPorts PIL (1.1.7).


141
pip install imagede la respuesta de Zhiming funcionó para mí.
Jim Schubert

9
sí, @JimSchubert lo dijo. pip install imagede @zhimmingwangtrabajado para mí también
Rafael Ruiz Muñoz

55
Pero noimage es PIL (como en la pregunta), es un módulo diferente. Referencia: github.com/francescortiz/image . ¿Me estoy perdiendo de algo?
Eric O Lebigot

2
Debe verificar que sus pipinstalaciones para el intérprete de Python que está utilizando. pip -Vte dice dónde se instala. En Unix, which pythonte dice dónde está tu pythoncomando. Los dos deberían coincidir lo suficientemente bien. O, mejor: python -c 'import sys; print sys.path'le dirá dónde pythonbusca módulos su comando ( print(sys.path), para Python 3).
Eric O Lebigot

1
@EricOLebigot Yours es una solución aparentemente poco apreciada, su sugerencia resolvió mi problema perfectamente y me impidió descargar cualquier otro paquete
Scott Anderson

282

En shell, ejecute:

pip install Pillow

Atención: PIL está en desuso, y la almohada es la sucesora.


77
De Verdad? noimage es el módulo PIL de la pregunta, sino una "aplicación Django" (que se basa en PIL). Referencia: github.com/francescortiz/image .
Eric O Lebigot

8
¿Por qué esto tiene votos a favor? imagepuede ser una biblioteca útil, pero no está relacionada con la pregunta.
gwg

2
pip install imagetrabajó para mi. gracias a duckduckgo cache por mantener la respuesta previa a la edición!
Zahra

Este método me es útil.
Bravo Yeung

He visto PILLOW en otros lugares, Pillow aquí. cmdno distingue entre mayúsculas y minúsculas, pero ¿cuál es la forma preferida de escribir esto?
Josiah Yoder

54

En una nota diferente, puedo recomendar altamente el uso de Pillow, que es compatible con versiones anteriores de PIL y se mantiene mejor / funcionará en sistemas más nuevos.

Cuando eso está instalado, puedes hacer

import PIL 

o

from PIL import Image

etc.


Ninguna de las otras respuestas solucionó el problema que tenía, pero esta sí.
MaxJ

51

Al principio instale Pillow con

pip install Pillow

o como sigue

c:\Python35>python -m pip install Pillow

Luego, en el código de Python, puede llamar

from PIL import Image

"Pillow es una bifurcación de PIL, la biblioteca de imágenes de Python, que ya no se mantiene. Sin embargo, para mantener la compatibilidad con versiones anteriores, se utiliza el antiguo nombre del módulo". Desde la almohada instalada, pero "ningún módulo llamado almohada" - python2.7 - Windows 7 - python -m install pillow


55
Ya estoy cumpliendo el requisito, pero sigue siendo el mismo problema
Saurabh Chandra Patel

21

A veces me sale este tipo de error al ejecutar un Unitest en python. La solución es desinstalar e instalar el mismo paquete en su entorno virtual.

Usando estos comandos:

pip uninstall PIL

y

pip install  PIL 

Si por alguna razón obtiene un error, agregue sudo al comienzo del comando y luego de presionar enter escriba su contraseña.


2
Esto también funciona para mí. Considere que uno podría usar otros scripts de Python que indirectamente usan PIL, cambiar la instrucción Importar no siempre es una opción.
PropellerHead

Esto no funcionó para mí, no pudo encontrar un repositorio llamado PIL (o pil). Sin embargo, ejecuté "pip install Pillow" que funcionó. Tengo entendido que Pillow es una rama de PIL.
Seb Charrot

@TeeBasins Pillow es el "tenedor PIL amigable" de Alex Clark y colaboradores.
JC Rocamonde

1
Obtengo "No se pudo encontrar una versión que satisfaga el requisito PIL (de las versiones
:)

20

Esto funcionó para mí en Ubuntu 16.04:

sudo apt-get install python-imaging

Encontré esto en Wikilibros después de buscar durante aproximadamente media hora.


3
Esta pregunta se hizo antes de Ubuntu 16.04, pero encontré este problema en Ubunt 16.04 y lo solucioné con su sugerencia.
tonto

Me alegro de poder ayudar! : D
grooveplex

Este fue mi problema en un RPI con una pantalla OLED que muestra la salida de Python
Ryan Ellis

10

Solía:

pip install Pillow 

y pip instaló PIL en Lib \ site-packages. Cuando me mudé PIL a Lib todo funcionó bien. Estoy en Windows 10.


9

En Windows 10 logré llegar allí 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

después de lo cual en python (python 3.7 en mi caso) esto funciona bien ...

import PIL
from PIL import image

Después de actualizar Windows 7 a Windows 10, mi programa Python no funcionó, pero este método lo resolvió. ¡Gracias!
user1785594

8

tienes que instalar Image y pillow con tu paquete de python.

tipo

python -m pip install image 

o ejecute el símbolo del sistema (en Windows), luego navegue a la carpeta de scripts

cd C:\Python27\Scripts

luego ejecuta debajo del comando

pip install image


6

En Windows, intente verificar la ruta a la ubicación de la biblioteca PIL. En mi sistema, noté que el camino era

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

después de cambiar el nombre de la pilcarpeta PIL, pude cargar el módulo PIL.


También recibí el mismo error de importación. He instalado PIL usando easy_install. En los paquetes del sitio se instaló en el directorio con el nombre 'PIL-1.1.7-py2.7-win32.egg'. Según su sugerencia, he cambiado el nombre del directorio a PIL y funcionó. Gracias por tu ayuda @Komla.
shashaDenovo

5

Deberá instalar Image y la almohada con su paquete de Python. Tenga la seguridad de que la línea de comando se encargará de todo por usted.

Golpear

imagen de instalación de python -m pip


4

en lugar de usar PIL Pillow funciona

easy_install Pillow

o

pip install Pillow


1

Utilicé conda-forge para instalar la versión 5 de la almohada, y eso pareció funcionar para mí:

conda install --channel conda-forge pillow=5

la almohada de instalación normal de conda NO me funcionó.


0

Tuve el mismo problema al importar PIL e importar más los módulos ImageTk e Image. También intenté instalar PIL directamente a través de pip. pero no se pudo lograr el éxito. Mientras tanto, se ha sugerido que PIL se ha despreciado, por lo tanto, trató de instalar la almohada solo a través de la punta. la almohada se instaló con éxito, además, el paquete PIL se realizó bajo la ruta: python27 / Lib / site-packages /.

Ahora se pueden importar tanto Image como ImageTk.


0

Recientemente instalé Leap. Traté de OpenShot y no comenzó. Así que vine aquí y encontré una sugerencia para comenzar desde la Terminal para ver si había algún error.

El error que tuve fue error missing mlt. Así que instalé el python-mltmódulo de Yast y lo importé, traté de iniciarlo pero el siguiente disparo abierto dijomissing pil.

Seguí la sugerencia de instalación de Pillow porque Yast no pudo encontrar ningún pil y un pil importado. Eso salió bien pero no comenzó y se mostró Error missing goocanvas.

¡Lo instalé goocanvascon Yast, lo importé en Python, y Openshot se encendió!

Con muchos errores en el terminal missing Vimeoclienty muchos attributeerrors. Bueno, veremos si es de alguna influencia trabajar con él.


0

Tuve el mismo problema y lo solucioné verificando qué versión es pip ( pip3 --version), y luego me di cuenta de que estoy escribiendo en python<uncorrect version> filename.pylugar depython<correct version> filename.py


-13

Probablemente te faltan los encabezados de python para construir pil. Si estás usando ubuntu o me gusta, será algo así como

apt-get install python-dev

¿Qué arquitectura estás usando, si te encuentras en un mundo de 64 bits? Use una versión de 32 bits y la versión precompilada no oficial de aquí
Crankyadmin

Es de 32 bits, lo he instalado varias veces, pero esta vez tengo este problema
Asma Gheisari
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.