记一次导入matplotlib包时出现DLL load failed while importing _imaging:时的解决方法
如题,今天在学习机器学习相关内容时,为了模拟回归过程需要导入import matplotlib.pyplot as plt。
但导入时出现了如下错误
通过在anaconda prompt中的conda/pip list命令查看虚拟环境中已经安装的包,发现matpltolib是已经安装过了的。
于是开始百度
1.通过 pip uninstall matplotlib
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple/
重新安装了matplotlib。
结果失败
2.又看到有人说是通过pip自动安装导致的,于是又卸载了以后在https://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib这个网站下载了对应的whl文件
再通过pip3 install matplotlib-3.3.3-cp39-cp39m-win_amd64.whl命令安装.
结果失败
其实在这一次尝试中,我发现使用这种方法在cmd里运行py是可以导入的,但到了anaconda里就不行了。而且在cmd里安装了并不代表在anaconda里就安装了(即使是base环境),
还要再安装一次。
3.这次找到了解决问题的关键——pillow包,一开始看到又说要更新这个包的,试了但没成功。又看到这张图:
对比自己的py3.9 pillow9.2也符合这张图的规定。
正纳闷,看到评论区一老哥说他也是py3.9用的是pillow8.40可以
卸载原来的版本重新安装pillow8.40
结果成功
总结:一开始出错的原因就是pillow版本过高,在解决问题的过程中不能笼统的搜索如:导入matplotlib包时出错
应该直接复制错误的那一行进行搜索,可以更快的找到适合自己的解决方案,同时,并不是越新的包越好,很多
时候最新的包可能会缺少某种依赖包,或者出一些bug。