Tidak dapat mengimpor PILLOW_VERSION dari PIL

15

Saat mengimpor, Python (anaconda) memberikan kesalahan berikut:

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

Saya mencoba menghapus pillowdan kemudian conda installtetapi kesalahan tetap ada. Tolong bantu

Naveed Unjum
sumber
1
Gunakan PIL .__ versi__ sebagai gantinya.
abhilb
@abhilb Saya mengimpor torchvision, yang memanggil PILLOW_VERSION
Naveed Unjum
1
Baik. maka mungkin periksa versi PIL yang Anda miliki dan versi yang diperlukan untuk torchvision. Mungkin ada ketidakcocokan. PILLOW_VERSION tidak digunakan lagi dalam versi terbaru PIL
abhilb
mungkin Anda harus menurunkan versi bantal
abhilb
Atau tingkatkan torchvision.
Hugo

Jawaban:

15

Bantal 7.0.0 dihapus PILLOW_VERSION, Anda harus menggunakan __version__kode Anda sendiri sebagai gantinya.


Edit (2020-01-16):

Jika menggunakan torchvision, ini telah diperbaiki di v0.5.0 . Memperbaiki:

  1. Memerlukan torchvision>=0.5.0
  2. Jika Bantal disematkan untuk sementara waktu, lepaskan pin tersebut

Info lama (2020-01-09):

Jika menggunakan torchvision, ada rilis yang direncanakan minggu ini (minggu 2, 2020) untuk memperbaikinya:

Opsinya adalah:

  • tunggu rilis torchvision baru
  • gunakan versi master dari torchvision (mis. pip install -U git+https://github.com/pytorch/vision )
  • instal torchvision dari nightly, yang juga membutuhkan pytorch dari versi nightly
  • atau pasang Bantal <7 (mis. pip install "pillow<7")
Hugo
sumber
9

Turunkan bantal jika Anda tidak membutuhkan fitur terbaru

pip install pillow<7

Atau untuk anaconda,

conda install -c anaconda pillow<7
sam
sumber
1
Atau pip install "pillow<7", seperti 6.2.2 (dan 7.0.0) berisi perbaikan keamanan: pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html
Hugo
Untuk pengguna Anaconda, itu conda install -c anaconda pillow=6.1.
Tengerye
6

Saya telah menyelesaikannya dengan memodifikasi functional.pydan __init__.pyyang disebutkan dalam pesan kesalahan. Kesalahan .

Ubah from PIL import Image, ImageOps, ImageEnhance, PILLOW_VERSIONke from PIL import Image, ImageOps, ImageEnhance, __version__dalam functional.pykira-kira nomor baris 5.

Ubah PILLOW_VERSION = __version__ = _version.__version__ke __version__ = __version__ = _version.__version__dalam __init__.py, kira-kira baris no 22.

Jalur file:

  • 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
sumber
ini bekerja untuk saya ... saya baru saja diganti PILLOW_VERSION dengan __version__ di functional.py: Your_File_Path\Lib\site-packages\torchvision\transforms\functional.pydan kemudian tidak ada kesalahan.
loveR
ini bekerja untuk saya. Tidak ada yang berhasil. Salah satu dari mimpi buruk 2 jam itu.
Monica Heddneck
5
  • Saat ini menggunakan torchvision == 0.4.2 dan ini menyelesaikan masalah saya.
  • Turunkan bantal ke 6.1 dan nyalakan kembali notebook Jupyter Anda.

    Gunakan ini

    conda install pillow=6.1

Maddu Swaroop
sumber
-1

Pembaruan untuk siapa saja yang mencapai pertanyaan ini sekarang:

Tingkatkan bantal Anda ke versi terbaru. Masalah telah diperbaiki.

Harsh Jain
sumber
Cobalah mengusulkan solusi untuk currentversi. Mereka mungkin tidak dapat memutakhirkannya.
veysiertekin