【问题标题】:Cannot import torchvision in Python on Ubuntu无法在 Ubuntu 上的 Python 中导入 torchvision
【发布时间】:2020-04-05 17:37:07
【问题描述】:

我试图在我的 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 机器上都没有问题(我现在无法访问)。我在 another Ubuntu 机器上导入torchvision 时也遇到了完全相同的问题,所以我不认为这特别是我的计算机的一些奇怪的怪癖。因此,我认为问题与 Linux 有关。

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

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

【问题讨论】:

  • 你是如何安装这个包的?你能分享一些关于你的环境的信息吗?
  • 我什么都用 conda。
  • 您的环境中有哪些软件包,您是如何安装它们的?

标签: python ubuntu python-imaging-library torchvision


【解决方案1】:

检查一下。

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

PILLOW_VERSION 定义在 Pillow 7.0.0 之后被移除。

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

pip install 'pillow<7.0.0'

pip3 install 'pillow<7.0.0'

如果您使用的是 conda。

conda uninstall pillow
conda install pillow=6.1

【讨论】:

  • OP 似乎在使用 Conda,所以在这里使用 pip 可能不是最好的主意。
  • 我确实在使用 conda 而不是 pip。我没有安装特定版本号的东西的实际经验,但我猜我也可以在 conda 中做到这一点?
  • 我刚做了conda uninstall pillow 然后conda install pillow=6.1 (我还必须用conda install torchvision 重新安装torchvision,因为它被枕头移除了)。它现在就像一个魅力!
  • 我会接受您的回答,因为它确实几乎立即解决了我的问题,即使它在技术上不适合我的情况。当然,您可以进行编辑以包含 conda 版本,以阻止将来偶然发现答案的 conda 用户使用 pip 做不明智的事情。
猜你喜欢
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多