问题描述:
今日,小鱼在运行Conda时,因为更新了Conda,不知道为什么,在导入import matplotlib.pyplot as plt时报错:matplotlib\cbook.py:545 in _get_data_path return Path(matplotlib.get_data_path(), *args) AttributeError: module 'matplotlib' has no attribute 'get_data_path'
如果,你也遇到了这样的问题,或许可以尝试以下这个方法,小鱼已解决。
解决方案:
第一步:
一定要注意:查看自己环境版本(Pillow 与 Matplotlib,以及对应的python版本)
小鱼的python的版本是3.9.19
那么对应的Pillow版本大家可以查看下面的图,得知应选用8.0及以上的版本
需要注意的是,Pillow应该选用最近比较新的,大家可以点击pillow · PyPI这个链接,直接查看最近的pillow版本。
因为,小鱼的python3.9,是可以选用pillow>=9.0,故而,选用最近比较新的。
如果,你的python版本比较老,那一定要根据上图中与选用与python对应的pillow版本
第二步:
Matplotlib也应选择最近比较新的,点击matplotlib · PyPI这个链接,可直接查看最新的matplotlib版本。
通常来说,Matplotlib应选用最新的。
第三步:
学会用镜像源下载对应的包
pip install --index-url 【镜像地址】 【包名】==【特定版本号】
镜像地址有:
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣 http://pypi.douban.com/simple/
对应本文的包名有:pillow和matplotlib
选用的版本分别为:(小鱼为了与实验室电脑环境一致,因此,选用了10.3.0和3.9.0),就是在符合版本范围内的,大家一般都可以选用,但是,建议选最近比较新的。
pillow == 10.3.0
matplotlib == 3.9.0
第四步:
用pip命令下载,一定要先下pillow,再下matplotlib。
pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ pillow==10.4.0
pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ matplotlib==3.9.1
第五步:
查看版本是否已经更新。小鱼是canda嘛,所以用的命令是:
conda list
第六步:
最重要的一步,退出运行环境,关闭软件
第七步:
重启软件,运行import matplotlib.pyplot as plt,成功导入啦!!
分析原因
1.matplotlib与numpy版本、pillow版本等有时存在冲突问题。
2.matplotlib包受到了损伤,需要卸载重下,这种情况,重新下载安装后,一定要重启软件,才会看到效果。
3.matplotlib新老版本,对get_data_path()进行了更新,同时,又与其他包之间存在关联问题,因此,一开始,大家一定要先弄清楚自己的环境以及版本,然后,再进行更新或者重装。
欢迎评论区交流!
如果大家发现有什么不对的,可以在评论区发表哦,大家一起解决!