[import matplotlib]时报错:ImportError: DLL load failed while importing _path

在最近使用PyCharm时import matplotlib时突然报错:

ImportError: DLL load failed while importing _cext: %1 不是有效的 Win32 应用

我尝试了如下3种方法

①重装了Python,PyCharm(本来的目录太乱了,遂重装),无效。

②重新配备环境变量。

③卸载又重安装了pywin32,无效。

在尝试本方法时我知道了为什么我的电脑明明是64位系统,却有system32文件夹:

虽然您的电脑是64位系统,但仍然存在一个名为System32的文件夹。这是由于历史原因导致的一种命名约定。

在早期的64位Windows操作系统版本中,为了兼容32位应用程序,系统目录的名称仍然保持为"System32"。而64位特定的系统文件则存储在另一个文件夹中,称为"SysWOW64"。

虽然名称似乎会引起混淆,但请注意以下要点:

- System32文件夹包含用于64位应用程序的系统文件,以及那些保持向后兼容性的32位系统文件。
- SysWOW64文件夹包含用于32位应用程序的系统文件,这是为了向后兼容32位应用程序而创建的。
- 64位程序仍然将使用System32文件夹,而不是SysWOW64文件夹,因为它们使用的是64位系统文件。

这种命名约定虽然可能会引起困惑,但它是为了确保在向后兼容性和支持旧的32位应用程序的同时,提供对新的64位应用程序的支持。

在以上方法都没用后,我查找到了以下方法:

1.首先在PyCharm的终端(底部栏的Terminal)或cmd里卸载已安装的numpy和matplotlib库
pip uninstall numpy
pip uninstall matplotlib
2.在cmd里查找自己Python的版本,我的是3.10.5。

3.https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy里下载带mkl的numpy安装包。

注意其中符号含义,一定要选择带mkl的numpy。

(1)前面的1.22.4为numpy的版本号,一般选择最新版本即可
(2)中间的cp39表示对应python3.9.x版本
(3)后面的win_amd64表示对应的电脑的64位

4、将下载的安装包放在Python39-Scripts文件夹下,我的路径参考如下:
D:\Python310\Scripts

5.配置环境变量

此电脑右键——属性——高级系统设置——环境变量——Path。然后一直确定。

6.打开cmd输入,pip install +刚才复制的路径名+下载的文件包的文件名。如我的是:
pip install D:\Python310\Scripts\numpy-1.22.4+mkl-cp310-cp310-win_amd64.whl 
-i https://pypi.tuna.tsinghua.edu.cn/simple

7. 回到PyCharm,发现import matplotlib.pyplot as plt不报错了。

问题原因:import matplotlib.pyplot as plt 中所有依赖库版本应满足要求,但报错的原因是在线pip install numpy时,使用pip下载numpy库中缺少DLL。需手动下载。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零一壹一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值