在导入时,Python(Anaconda)出现以下错误:
ImportError: cannot import name 'PILLOW_VERSION' from 'PIL'
我尝试先删除pillow
,然后删除conda install
,但错误仍然存在。
答案 0 :(得分:19)
已将枕头7.0.0删除PILLOW_VERSION
,您应该在自己的代码中使用__version__
。
编辑(2020-01-16):
如果使用Torchvision,它已在v0.5.0中修复。要解决:
torchvision>=0.5.0
旧信息(2020-01-09):
如果使用Torchvision,则计划在本周(2020年第2周)发布一个版本来修复它:
这些选项是:
pip install -U git+https://github.com/pytorch/vision
)pip install "pillow<7"
)答案 1 :(得分:12)
如果不需要最新功能,可将枕头降级
pip install pillow<7
或者对于水蟒,
conda install -c anaconda pillow<7
答案 2 :(得分:6)
我已经解决了修改错误消息中提到的functional.py
和__init__.py
的问题。Error。
在from PIL import Image, ImageOps, ImageEnhance, PILLOW_VERSION
的大约第5行中将from PIL import Image, ImageOps, ImageEnhance, __version__
修改为functional.py
。
在PILLOW_VERSION = __version__ = _version.__version__
中将__version__ = __version__ = _version.__version__
修改为__init__.py
,大约第22行。
文件路径:
functional.py
:C:\Users\UserName\AppData\Local\Programs\Python\Python37\Lib\site-packages\torchvision\transforms\functional.py
__init__.py
:C:\Users\UserName\AppData\Local\Programs\Python\Python37\Lib\site-packages\PIL\__init__.py
答案 3 :(得分:5)
将枕头降级到6.1,然后重新启动Jupyter笔记本电脑。
使用此
conda install pillow=6.1
答案 4 :(得分:1)
我找到了另一个很好的解决方案: 安装Pillow-SIMD而不是Pillow。
枕头-SIMD是“跟随”枕头。枕头SIMD版本为100% 兼容的替代品,用于相同版本的枕头。 SIMD代表“单指令,多数据”,其实质是 在多个数据点上执行相同的操作 同时使用多个处理元素。
首页: https://github.com/uploadcare/pillow-simd
基准: https://python-pillow.org/pillow-perf/
安装说明:
$ pip uninstall pillow
$ CC="cc -mavx2" pip install -U --force-reinstall pillow-simd
我检查过:它没有这种错误,可以在Pytorch / Torchvision上使用。
您不需要降级软件包或更改源代码。
答案 5 :(得分:0)
这是我对错误的解决方法
Error: Could not import PILLOW_VERSION from PIL
OS: Linux 18.0 (LUBUNTU)
Python: 3.6
通过降级枕头解决了该问题:
pillow: 7.0.0-py36hb39fc2d_0 --> 6.1.0-py36h34e0f95_0
command: conda install pillow=6.1