调用matplotlib遇到DLL load failed while importing _path: 拒绝访问

安装了matplotlib后一直使用得好好的,刚好那天重装了Pycharm后,恰逢又研究新代码,发现出现

“拒绝访问”的问题。网上也搜不到资料,做了很多尝试:

  1. 重装matplotlib

  1. 重装numpy

  1. 重装pandas

  1. 换一个python的库

全都无济于事~

开始怀疑是不是pycharm版本的问题准备重装了,毕竟在没换pycharm之前是能正常使用的。再想起之前使用过matplotlib的那些demo,随手跑了一下,没问题啊~说明matplotlib库是正常的。对比发现,之前的程序用的是绘制散点图,而这次是绘制折线图出问题,估计是在调用的时候哪里出错了。找到一些网上说的“找不到模块”的解决方法,一些写得有点复杂。经过研究后终于知道如何解决!原来是numpy库的支持出了问题,缺少了dll文件,而通过默认的pip卸载/安装是无法解决的,包括去取清华的镜像也是无法使用,需要做如下操作:

如果你跟我一样,pycharm指向的是系统默认的python库,可进行如下操作:

1.卸载了原有的numpy。

pip uninstall numpy

卸载前也可以通过pip list看一下自己的numpy版本,可以看到它显示的是“numpy xx.xx.xx”这个版本号。

2.打开uci的地址下载numpy

https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

这一个网页一大列东西,直接定位找到numpy项中

圈起来的那段话意思是:

Numpy+MKL是链接到英特尔数学内核库,并在Numpy.DLLs目录中包含所需的DLL。

Numpy+Vanilla是一个最小的发行版,它不包含任何优化的BLAS库或C运行时DLL。

所以我们要找的是MKL版的。

以我下载的numpy‑1.22.4+mkl‑cp310‑cp310‑win_amd64.whl包,文件名的意思是:

numpy的1.22.4版本,带mkl,适配python的3.10版本,64位

大家根据这个名字规则下载自己需要的包,一个whl文件,两百多兆,用下载工具下载不然会断流、、、

放在D盘根目录下,然后命令提示符:

d:
pip install numpy-1.22.4+mkl-cp310-cp310-win_amd64.whl(自行替换为自己的包的名字)

等待安装完毕。

安装完毕后pip list会发现

numpy的版本不再像之前那样只是一个版本数字,而是多了个mkl。matplotlib此时就可以正常运行使用了。

如果你不是使用自行安装的python---既然whl包已经下载下来了,那就可以自行在pycharm中卸载原有的numpy,然后通过whl文件自行导入新的运行库。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值