Python中 matplotlib库 ImprotError解决方法

python中的matplotlib库运行出现“ImportError: DLL load failed while importing _cext: 找不到指定的模块。”的问题解决方法

在C++中,默认情况下,当使用 Visual Studio 生成动态链接库 (DLL) 时,链接器就会包括 Visual C++ 运行时库 (VCRuntime)。 VCRuntime 包含初始化和终止 C/C++ 可执行文件所需的代码。 当链接到 DLL 时,VCRuntime 代码提供名为 _DllMainCRTStartup 的内部 DLL 入口点函数,该函数处理 Windows OS 到 DLL 的消息,以便附加到进程或线程或从进程或线程分离。 _DllMainCRTStartup 函数执行基本任务,例如设置堆栈缓冲区安全性,初始化和终止 C 运行时库 (CRT),以及调用静态和全局对象的构造函数和析构函数。 _DllMainCRTStartup 还为其他库(如 WinRT、MFC 和 ATL)调用挂钩函数来执行其自己的初始化和终止操作。 如果没有这种初始化,CRT 和其他库以及静态变量将处于未初始化状态。 无论 DLL 使用静态链接的 CRT 还是动态链接的 CRT DLL,都会调用相同的 VCRuntime 内部初始化和终止例程。


来源:

DLL 和 Visual C++ 运行时库行为 | Microsoft Learn 详细了解:DLL 和 Visual C++ 运行时库行为icon-default.png?t=N7T8https://learn.microsoft.com/ZH-cn/cpp/build/run-time-library-behavior?view=msvc-160

但是在Python中行为有所不同。

在Python中,当涉及使用 Visual Studio 生成的动态链接库(DLL),特别是那些依赖于 Visual C++ 运行时库(VCRuntime)的情况,Python 本身不直接执行类似 _DllMainCRTStartup 的初始化工作。相反,这些初始化任务由运行时库和生成的 DLL 自己负责。Python 作为一个解释型语言,通常会加载和使用这些 DLL,但它依赖于 DLL 自身正确地进行了初始化和配置。因此,如果 DLL 缺少必要的运行时组件或配置不正确,Python 在尝试使用这些 DLL 时可能会遇到错误。

就会到导致使用

pip list

命令查看模块时,存在该模块。

但使用

import matplotlib 

就会导致以下错误

解决方法

import msvc-runtime

导入Microsoft Visual C++ 运行库,msvc-runtime 可确保使用 Visual C++ 编译的应用程序和模块的兼容性。

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值