Не вдалося імпортувати PILLOW_VERSION з PIL


15

Під час імпорту Python (анаконда) видає таку помилку:

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

Я спробував видалити, pillowа потім conda installпомилка зберігається. Будь ласка, допоможіть


1
Використовуйте натомість PIL .__ version__.
abhilb

@abhilb Я імпортую torchvision, який закликає PILLOW_VERSION
Naveed Unjum

1
Добре. то, ймовірно, перевірте наявну у вас версію PIL та версію, необхідну для torchvision. Може виникнути невідповідність. PILLOW_VERSION застарілий у останній версії PIL
abhilb

ймовірно, вам доведеться
зменшити

Або оновити торчвізію.
Гюго

Відповіді:


15

Подушку 7.0.0 видалено PILLOW_VERSION, __version__замість неї слід використовувати власний код.


Редагувати (16.01.2020):

Якщо ви використовуєте факел, це було зафіксовано в v0.5.0 . Виправити:

  1. Вимагають torchvision>=0.5.0
  2. Якщо Подушку було тимчасово пришпилено, вийміть шпильку

Стара інформація (2020-01-09):

Якщо ви використовуєте torchvision, на цьому тижні (2 тиждень 2020 року) заплановано випуск:

Варіанти:

  • дочекайтеся нового випуску факела
  • використовувати головну версію torchvision (наприклад, pip install -U git+https://github.com/pytorch/vision)
  • встановити факел з нічного, що також вимагає піторха з нічної версії
  • або встановіть Подушку <7 (напр. pip install "pillow<7")

9

Подушка з пониженням, якщо вам не потрібні новітні функції

pip install pillow<7

Або для анаконди,

conda install -c anaconda pillow<7

1
Або pip install "pillow<7"як 6.2.2 (і 7.0.0) містить виправлення безпеки: pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html
Hugo

Для користувача Anaconda це conda install -c anaconda pillow=6.1.
Тенгері

6

Я вирішив, змінивши functional.pyі __init__.pyякі згадуються у повідомленні про помилку. Помилка .

Змінити , from PIL import Image, ImageOps, ImageEnhance, PILLOW_VERSIONщоб from PIL import Image, ImageOps, ImageEnhance, __version__в functional.pyках номера рядка 5.

Змінити , PILLOW_VERSION = __version__ = _version.__version__щоб __version__ = __version__ = _version.__version__в __init__.pyок НЕ вирівнюють немає 22.

Шлях файлу:

  • 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


це працювало для мене ... я просто замінити PILLOW_VERSION на __version__ в functional.pyна: Your_File_Path\Lib\site-packages\torchvision\transforms\functional.pyі тоді не було ніяких помилок.
loveR

це працювало для мене. Нічого іншого не працювало. Один із тих 2-годинних кошмарів.
Моніка Геднек

5
  • Наразі використовую torchvision == 0.4.2, і це вирішило мою проблему.
  • Зменшіть подушку до 6.1 та перезавантажте ноутбук Юпітера.

    Використовуй це

    conda install pillow=6.1

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.