无法在 conda 中安装 pillow 6.2.1

Unable to install pillow 6.2.1 in conda

升级后pytorch/torch-vision出现以下错误:

python -c "import torch ; import torchvision as tv; print(torch.__version__, tv.__version__)
> "
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/pointr/anaconda3/lib/python3.7/site-packages/torchvision/__init__.py", line 4, in <module>
    from torchvision import datasets
  File "/home/pointr/anaconda3/lib/python3.7/site-packages/torchvision/datasets/__init__.py", line 9, in <module>
    from .fakedata import FakeData
  File "/home/pointr/anaconda3/lib/python3.7/site-packages/torchvision/datasets/fakedata.py", line 3, in <module>
    from .. import transforms
  File "/home/pointr/anaconda3/lib/python3.7/site-packages/torchvision/transforms/__init__.py", line 1, in <module>
    from .transforms import *
  File "/home/pointr/anaconda3/lib/python3.7/site-packages/torchvision/transforms/transforms.py", line 17, in <module>
    from . import functional as F
  File "/home/pointr/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/pointr/anaconda3/lib/python3.7/site-packages/PIL/__init__.py)

这是由于 condapytorch 7.0.0 https://github.com/pytorch/vision/issues/1712 之间的不兼容性引起的。所以我需要降级到 pillow 6.2.1:

执行此操作的命令是:conda install pillow=6.2.1 -y

但是失败了:

 (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: | 

那就是挂了。那么现在怎么办 ?解决方法本身需要一个解决方法。conda 现在是否因 torchvision 而损坏?我首先使用 conda 的主要原因是 torch / torchvision ..

更新 Conda 尝试 resolve conflicts。 20 分钟后,完成了 13%。荒谬的。这是 2020 核心 i7 迷你塔。没有一个理智的程序需要超过低两位数的秒数来解决依赖关系。我终于杀了它。我将尝试直接从 pip:

做的建议
pip install Pillow==6.2.1 

好的 - 那是 挂起 ..我要卸载 pillow 然后用那个版本重新安装它。

另一个更新 @erip 推荐了 conda install -c conda-forge pillow=6.2.1 - 所以我们开始:

conda install -c conda-forge pillow=6.2.1
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: \

我会让尘埃落定,但看起来不太可能。

唯一对我有用的是卸载/重新安装conda

https://docs.anaconda.com/anaconda/install/uninstall/

https://docs.conda.io/en/latest/miniconda.html

这里是 conda 选择安装的版本:

(base) pointr@alienware:~/anaconda3$ python -c "import cv2; import PIL;print('cv2: ' + cv2.__version__); print('PIL: ' + PIL.__version__)"

cv2: 4.1.0
PIL: 7.1.2

(base) pointr@alienware:~/anaconda3$ python -c "import torch ; import torchvision as tv; print('torch:' + torch.__version__); print('torchvision: ' + tv.__version__)"

torch:1.3.1
torchvision: 0.4.2