无法在 Ubuntu 的 Python 中导入 torchvision

Cannot import torchvision in Python on Ubuntu

我试图在我的 Ubuntu 18.04 LTS 机器上执行 simple neural networking tutorial 并且在尝试导入 torchvision 模块时 运行 遇到此错误:

    Traceback (most recent call last):
  File "class.py", line 2, in <module>
    import torchvision
  File "/home/drubbels/anaconda3/lib/python3.7/site-packages/torchvision/__init__.py", line 4, in <module>
    from torchvision import datasets
  File "/home/drubbels/anaconda3/lib/python3.7/site-packages/torchvision/datasets/__init__.py", line 9, in <module>
    from .fakedata import FakeData
  File "/home/drubbels/anaconda3/lib/python3.7/site-packages/torchvision/datasets/fakedata.py", line 3, in <module>
    from .. import transforms
  File "/home/drubbels/anaconda3/lib/python3.7/site-packages/torchvision/transforms/__init__.py", line 1, in <module>
    from .transforms import *
  File "/home/drubbels/anaconda3/lib/python3.7/site-packages/torchvision/transforms/transforms.py", line 17, in <module>
    from . import functional as F
  File "/home/drubbels/anaconda3/lib/python3.7/site-packages/torchvision/transforms/functional.py", line 5, in <module>
    from PIL import Image, ImageOps, ImageEnhance, PILLOW_VERSION
ImportError: cannot import name 'PILLOW_VERSION' from 'PIL' (/home/drubbels/anaconda3/lib/python3.7/site-packages/PIL/__init__.py)

我之前 运行 在尝试使用 Python 在 Open CV 中显示图像时遇到类似的 PIL 相关错误,但当时无法解决。

我知道这两种情况(本教程和 Open CV 程序)在原则上都应该工作正常,因为我以前在 Windows 8.1 机器(我现在没有不再可以访问)。我也 运行 在 另一台 Ubuntu 机器上导入 torchvision 时遇到完全相同的问题,所以我不认为这是一些奇怪的怪癖特别是我的电脑。因此,我认为问题与 Linux 相关。

我已经重新安装了 Pillow,但没有帮助。

编辑:一切都是用 conda 安装的。我不认为环境会有什么问题 - 我今天早上重新安装了 Anaconda。

检查这个。

https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst

在 Pillow 7.0.0 之后删除了 PILLOW_VERSION 定义。

所以安装旧版本的 Pillow 会有帮助。

pip install 'pillow<7.0.0'

pip3 install 'pillow<7.0.0'

如果您使用的是 conda。

conda uninstall pillow
conda install pillow=6.1