from PIL import Image from tkinter import * ... fname = "downloaded.png" im = Image.open(fname) im.show()
みたいなプログラムを買いたら、下記のようなエラーが発生した。
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python37-32\lib\tkinter\__init__.py", line 1702, in __call__
return self.func(*args)
File "show_image.py", line 76, in show_image
im = Image.open(fname)
AttributeError: type object 'Image' has no attribute 'open'
3系でImageモジュールのインターフェースが変わったのかな?とも思いましたが、エラーをよく見るとtkinterモジュールでエラーが発生しています。
調べてみると、ネームスペースのコンフリクトが発生しているようでした。
stackoverflow.com
で、以下のように修正。
import PIL.Image from tkinter import * ... fname = "downloaded.png" im = PIL.Image.open(fname) im.show()
無事、画像が表示されました。
久しぶりにブログの趣旨に沿った更新だなと思いつつ、今日はここまで。