- 报错
我是在用Pytorch进行手写数字识别的时候,因为程序中导入了torchvision
这个模块,循着报错提示找过去,发现报错发生在torchvision\transforms\functional.py中的这一句上
from PIL import Image, ImageOps, ImageEnhance, PILLOW_VERSION
- 原因
查了一下原因,是因为
In 7.0.0:
PILLOW_VERSION
has been removed. Use__version__
instead.引自 https://github.com/python-pillow/Pillow/issues/4130#issuecomment-570453802
我尝试对torchvision
这个模块进行了更新,结果我的当前版本已经是最新的,它还并没有更新这个写法。
- 装一个低版本的
这样的话,有一个办法是卸载了Pillow,然后重新安装一个旧版本的
pip uninstall Pillow # 卸载当前pillow
pip uninstall PIL # 可能还需要卸载这个模块
pip install Pillow==版本号 # 有些教程说6.1版本的可用
这个我没有实践,仅供参考
- 修改模块文件
我做了一个大胆的操作,我把functional.py中导入PILLOW_VERSION的部分给改了
扫描二维码关注公众号,回复:
9253100 查看本文章
from PIL import Image, ImageOps, ImageEnhance, __version__
在Pycharm中修改时会眺出警告,确认就能修改了
但是只有这样还是不够的,因为在下面的程序中用到的还是PILLOW_VERSION
这个变量,然后我又做了这样一个操作
PILLOW_VERSION=__version__
注意这一句要放在所有用到PILLOW_VERSION变量的语句之前,我是把这句紧跟在了了所有导入操作之后
综上,我的问题得到了解决