赞
踩
问题:
使用 PIL 库报错: AttributeError: module 'PIL' has no attribute 'Image',报错信息如下:
原因分析:
我报错的代码如下:
- import PIL
- def add_image(self, tag, img, step):
- summary = Summary()
- bio = BytesIO()
-
- if type(img) == str:
- img = PIL.Image.open(img)
- elif type(img) == PIL.Image.Image:
- pass
- else:
- img = scipy.misc.toimage(img)
PIL 库的 __init__.py 文件本身不会自动导入任何东西。当使用 from PIL import Image 时,PIL 包会找到 Image.py 文件并导入。但当使用 PIL.Image 时,实际上是在 PIL 模块上进行属性查找(除非您明确导入内容,否则这只是一个空存根)。
解决办法:
使用以下格式:
- from PIL import Image
- Image
我将代码修改为以下格式,不再报错
- from PIL import Image
- def add_image(self, tag, img, step):
- summary = Summary()
- bio = BytesIO()
-
- if type(img) == str:
- img = Image.open(img)
- elif type(img) == Image.Image:
- pass
- else:
- img = scipy.misc.toimage(img)
参考链接: import - Python PIL has no attribute 'Image' - Stack Overflow
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。