PILLOW_VERSION konnte nicht aus PIL importiert werden

15

Beim Importieren gibt Python (anaconda) den folgenden Fehler aus:

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

Ich habe versucht zu entfernen pillowund dann, conda installaber der Fehler bleibt bestehen. Bitte helfen Sie

Naveed Unjum
quelle
1
Verwenden Sie stattdessen PIL .__ version__.
Abhilb
@abhilb Ich importiere Fackelvision, die PILLOW_VERSION
Naveed Unjum
1
OK. Überprüfen Sie dann wahrscheinlich die Version von PIL, die Sie haben, und die Version, die für Torchvision benötigt wird. Möglicherweise liegt eine Nichtübereinstimmung vor. PILLOW_VERSION ist in der neuesten Version von PIL
abhilb
wahrscheinlich müssen Sie die Kissenversion herabstufen
abhilb
Oder aktualisieren Sie torchvision.
Hugo

Antworten:

15

Kissen 7.0.0 entfernt PILLOW_VERSION, sollten __version__Sie stattdessen in Ihrem eigenen Code verwenden.


Bearbeiten (2020-01-16):

Bei Verwendung von Torchvision wurde dies in Version 0.5.0 behoben . Reparieren:

  1. Benötigen torchvision>=0.5.0
  2. Wenn das Kissen vorübergehend festgesteckt war, entfernen Sie den Stift

Alte Info (09.01.2020):

Wenn Sie Torchvision verwenden, ist diese Woche (Woche 2, 2020) eine Veröffentlichung geplant, um das Problem zu beheben:

Die Optionen sind:

  • Warten Sie auf die neue Fackelvision
  • Verwenden Sie die Master - Version von torchvision (zB. pip install -U git+https://github.com/pytorch/vision)
  • Installieren Sie Torchvision von einer nächtlichen Version, für die auch eine Pytorch von einer nächtlichen Version erforderlich ist
  • oder installieren Sie Pillow <7 (z. B. pip install "pillow<7")
Hugo
quelle
9

Downgrade-Kissen, wenn Sie nicht die neuesten Funktionen benötigen

pip install pillow<7

Oder für Anakonda,

conda install -c anaconda pillow<7
Sam
quelle
1
Oder pip install "pillow<7", da 6.2.2 (und 7.0.0) Sicherheitskorrekturen enthält: pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html
Hugo
Für Anaconda-Benutzer ist es conda install -c anaconda pillow=6.1.
Tengerye
6

Ich habe durch Modifizieren gelöst functional.pyund __init__.pywelche in der Fehlermeldung erwähnt werden. Fehler .

Ändern , from PIL import Image, ImageOps, ImageEnhance, PILLOW_VERSIONum from PIL import Image, ImageOps, ImageEnhance, __version__in functional.pyca. Zeilennummer 5.

Ändern Sie PILLOW_VERSION = __version__ = _version.__version__in __version__ = __version__ = _version.__version__in __init__.py, ca. Zeile Nr. 22.

Dateipfad:

  • 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
quelle
das für mich gearbeitet ... Ich ersetzen PILLOW_VERSION durch __version__ in functional.pyan: Your_File_Path\Lib\site-packages\torchvision\transforms\functional.pyund dann gab es keine Fehler.
loveR
das hat bei mir funktioniert. Sonst hat nichts funktioniert. Einer dieser 2 Stunden Albträume.
Monica Heddneck
5
  • Derzeit mit Torchvision == 0.4.2 und dies löste mein Problem.
  • Herabstufen Sie Ihr Kissen auf 6.1 und starten Sie Ihr Jupyter-Notebook neu.

    Benutze das

    conda install pillow=6.1

Maddu Swaroop
quelle
-1

Update für alle, die diese Frage jetzt erreichen:

Rüsten Sie Ihr Kissen auf die neueste Version auf. Das Problem wurde behoben.

Harter Jain
quelle
Bitte versuchen Sie eine Lösung für currentVersionen vorzuschlagen . Sie können es möglicherweise nicht aktualisieren.
veysiertekin vor