You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何解决PyCharm中导入sklearn时的DLL加载失败错误?

解决scikit-learn导入时的DLL加载失败问题

从你的报错信息能看出来,真正的问题不是sklearn本身,而是scipy依赖的BLAS相关DLL文件缺失——sklearn在初始化过程中会调用scipy的线性代数模块,而scipy加载_fblas这个核心组件时找不到对应的系统依赖文件。下面是几个针对性的解决方案,按优先级尝试:

1. 重新安装兼容版本的scipy

Windows系统下,scipy的某些版本和Python/系统架构(32位/64位)不匹配时很容易出DLL问题,建议先卸载现有版本再安装兼容的稳定版:

  • 打开PyCharm的Terminal,确保激活了项目的虚拟环境(如果没自动激活,输入venv\Scripts\activate
  • 卸载scipy:
    pip uninstall scipy -y
    
  • 安装适配的版本,比如对Windows兼容性较好的1.7.3版(适配Python3.7~3.10):
    pip install scipy==1.7.3
    

2. 确认PyCharm使用的是正确的虚拟环境

有时候PyCharm可能误用到了全局Python解释器,导致安装的包不在项目环境里:

  • 打开File > Settings > Project: [你的项目名] > Python Interpreter
  • 确认列表里的解释器是项目venv文件夹下的python.exe,并且能看到scipyscikit-learn已安装

3. 安装Microsoft Visual C++ Redistributable

绝大多数Python科学计算库(包括scipy)都依赖微软的C++运行时库,如果你的系统没装,会导致DLL加载失败:

  • 下载对应你系统架构的Microsoft Visual C++ Redistributable(比如2019或2022版的x64版本)
  • 安装完成后重启PyCharm,再运行代码测试

4. 重建虚拟环境

如果上述方法都无效,可能是虚拟环境本身存在损坏:

  • 删除项目根目录下的venv文件夹
  • 在PyCharm里重新创建虚拟环境:File > Settings > Python Interpreter > Add > Virtualenv Environment,选择创建新环境,指定路径后确认
  • 重新安装所有依赖:
    pip install numpy scipy scikit-learn
    

验证方法

在PyCharm的Python Console里输入以下代码,测试是否能正常导入:

import scipy.linalg
from sklearn.model_selection import cross_validate

如果没有报错,说明问题已经解决了。

内容的提问来源于stack exchange,提问作者Lsluger

火山引擎 最新活动