最近要用 matplotlib 画图,出现了下面这个问题:
我使用的是anaconda虚拟环境,目前这个环境是从初学时就开始使用,各种包非常混乱,我用 conda 和 pip uninstall 了所有和 qt 相关的包(PyQt5,Pyside2,Pyside6),然后查看了一下另外一个可以画图的虚拟环境,查看了其中的 pillow 和 matplotlib 的版本(这两个包的版本似乎需要匹配,但目前网络上不太容易查到),卸载了目前环境里的pillow和matplotlib,然后重新安装:
pip install Pillow==9.4.0
pip install matplotlib==3.7.1
然后可以画图了:
因为我在这个环境里需要使用 pytorch,前面卸载pillow时,把我的torchvision也卸载掉了,在我根据依赖关系(torch 1.10.2 → torchvision 0.11.3 → pillow 10.0.1)重新安装torchvision 0.11.3,后 torchvision 又给我装了一个新版本的 pillow,导致又画不了图了:
File "D:\Anaconda3\envs\pytorch\lib\site-packages\PIL\Image.py", line 82, in <module>
from . import _imaging as core
ImportError: DLL load failed while importing _imaging: 找不到指定的模块。
最后根据这篇博文:
python -m pip install Pillow
问题解决。
现在我的环境里有 pip 安装的 matplotlib 和 pillow,以及 conda 安装的另一个版本的 pillow,没再出现过问题: