Windows环境下Jupyter导入sklearn数据集触发OSError如何解决
问题根因
你遇到的WinError 193 %1 不是有效的Win32应用报错,确实是Python解释器架构与scikit-learn安装包架构不匹配导致:当前Jupyter Lab调用的是32位Python,但你安装的scikit-learn是64位版本(反过来也会触发相同报错),加载依赖的vcomp140.dll时架构不兼容触发加载失败。你之前使用Jupyter Notebook无异常,是因为该Notebook绑定的Python版本和scikit-learn架构适配。
修复步骤
- 第一步:确认当前Jupyter Lab的Python架构
在当前报错的Notebook单元格中执行以下代码,查看输出的架构信息:
记录输出的是import platform print(platform.architecture())32bit还是64bit。 - 第二步:获取当前Jupyter对应的Python解释器路径
继续在同个Notebook中执行代码,拿到解释器绝对路径:
输出示例:import sys print(sys.executable)C:\Users\你的用户名\Anaconda3\python.exe - 第三步:卸载不匹配的scikit-learn
打开Windows cmd命令行,执行以下命令,将引号内的路径替换为上一步拿到的实际路径:"你拿到的Python解释器路径" -m pip uninstall scikit-learn -y - 第四步:重装对应架构的scikit-learn
继续在cmd中执行安装命令,避免缓存的错误架构包影响,添加--no-cache-dir参数:"你拿到的Python解释器路径" -m pip install scikit-learn --no-cache-dir - 临时快速解决方案:无需修改安装包,直接启动之前正常使用的Jupyter Notebook运行代码即可,其绑定的Python环境与scikit-learn适配。
效果验证
重启Jupyter Lab的内核,重新执行你的数据集导入代码:
from sklearn.datasets import fetch_california_housing housing = fetch_california_housing() housing
无报错且正常输出数据集信息即修复完成。
内容的提问来源于stack exchange,提问作者laureng12
相关产品推荐
相关产品推荐

