cannot import name ‘PILLOW_VERSION’ from ‘PIL’の解決方法

データサイエンス

現象

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...
タイトルとURLをコピーしました