現象
Pillowを使って画像処理をしようとしたところ、cannot import name ‘PILLOW_VERSION’ from ‘PIL’というエラーが出ました。このエラーの原因と解決方法をまとめたいと思います。
原因
原因は画像処理ライブラリPillow(PIL)のバージョンが7.0.0であることが原因です。このバージョンで、transformsを使おうとすると、このようなエラーがでるようです。エラーが出るコードの例は以下に示しておきます。現在の最新のPillow(記事作成時では7.1.2)では、解決されているので、バージョンアップをしましょう。
import torch
from torchvision import transforms,datasets
解決手順
まずは、現在のPillowのバージョンを確認してみましょう。自分はAnacondaを使っているので、Anaconda Promptにて、以下のコードを入力します。
conda list
すると、現在のPillowのバージョンが7.0.0であることがわかります。なので、Pillowを最新のものにしましょう。
conda update Pillow
アップデートができたら、Pillowのバージョンを確認してみましょう。すると、最新のものになっているのが確認できると思います。
conda list
エラーも出なくなりました。
補足
このエラーに対する海外のスレッドです。
pillow 7.0.0 has removed `PILLOW_VERSION` · Issue #1718 · pytorch/vision
In the newest version of pillow, the attribute PILLOW_VERSION is removed in favor of PIL.__version__. torchvision relies on the old behaviour and breaks on impo...