No se pudo importar PILLOW_VERSION desde PIL

15

Al importar, Python (anaconda) da el siguiente error:

ImportError: cannot import name 'PILLOW_VERSION' from 'PIL'

Intenté eliminar pillowy luego, conda installpero el error persiste. Por favor ayuda

Naveed Unjum
fuente
1
Utilice PIL .__ versión__ en su lugar.
abhilb
@abhilb Estoy importando torchvision, que está llamando a PILLOW_VERSION
Naveed Unjum
1
Okay. entonces probablemente verifique la versión de PIL que tiene y la versión necesaria para torchvision. Puede haber una falta de coincidencia. PILLOW_VERSION está en desuso en la última versión de PIL
abhilb
probablemente tendrá que degradar la versión de almohada
abhilb
O actualizar torchvision.
Hugo

Respuestas:

15

Pillow 7.0.0 eliminado PILLOW_VERSION, debe usar __version__su propio código en su lugar.


Editar (2020-01-16):

Si usa torchvision, esto se ha solucionado en v0.5.0 . Arreglar:

  1. Exigir torchvision>=0.5.0
  2. Si la almohada se fijó temporalmente, retire el pasador

Información anterior (2020-01-09):

Si usa torchvision, hay un lanzamiento planeado esta semana (semana 2, 2020) para solucionarlo:

Las opciones son:

  • espera el nuevo lanzamiento de torchvision
  • use la versión maestra de torchvision (p. ej. pip install -U git+https://github.com/pytorch/vision )
  • instalar torchvision desde una noche, que también requiere una pytorch desde una versión nocturna
  • o instale Pillow <7 (p. ej. pip install "pillow<7")
Hugo
fuente
9

Baje la almohada si no necesita las últimas funciones

pip install pillow<7

O para anaconda,

conda install -c anaconda pillow<7
sam
fuente
1
O pip install "pillow<7", como 6.2.2 (y 7.0.0) contiene correcciones de seguridad: pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html
Hugo
Para el usuario de Anaconda, lo es conda install -c anaconda pillow=6.1.
Tengerye
6

He resuelto modificando functional.pyy __init__.pyque se mencionan en el mensaje de error. Error .

Modificar from PIL import Image, ImageOps, ImageEnhance, PILLOW_VERSIONa from PIL import Image, ImageOps, ImageEnhance, __version__enfunctional.py aprox número de línea 5.

Modificar PILLOW_VERSION = __version__ = _version.__version__a __version__ = __version__ = _version.__version__en__init__.py , línea no 22 aproximadamente.

Ruta de archivo:

  • functional.py:C:\Users\UserName\AppData\Local\Programs\Python\Python37\Lib\site-packages\torchvision\transforms\functional.py

  • __init__.py:C:\Users\UserName\AppData\Local\Programs\Python\Python37\Lib\site-packages\PIL\__init__.py

PrasadHeeramani
fuente
esto funcionó para mí ... acabo de reemplazar PILLOW_VERSION por __version__ en functional.py: Your_File_Path\Lib\site-packages\torchvision\transforms\functional.pyy luego no hubo errores.
loveR
Esto funcionó para mí. Nada más funcionó. Una de esas pesadillas de 2 horas.
Monica Heddneck
5
  • Actualmente estoy usando torchvision == 0.4.2 y esto resolvió mi problema.
  • Reduce tu almohada a 6.1 y reinicia tu portátil Jupyter.

    Utilizar este

    conda install pillow=6.1

Maddu Swaroop
fuente
-1

Actualización para cualquiera que llegue a esta pregunta ahora:

Actualiza tu almohada a la última versión. El problema ha sido solucionado.

Harin Jain
fuente
Intente proponer una solución para las currentversiones. Es posible que no puedan actualizarlo.
veysiertekin hace