已安装sklearn但Jupyter Notebook提示No module named 'sklearn'求助
解决Jupyter Notebook中无法导入sklearn的问题
问题根源
Jupyter Notebook使用的Python内核与你安装scikit-learn的Python环境不一致,导致内核找不到已安装的scikit-learn模块。sklearn 0.0是一个无实际功能的占位包,真正提供机器学习功能的是scikit-learn。
排查步骤
- 确认Jupyter当前使用的Python路径
在Notebook中执行以下代码:
import sys print(sys.executable)
记录输出的完整路径(例如C:\Users\你的用户名\AppData\Local\Programs\Python\Python310\python.exe)。
- 对比系统默认Python路径
打开PowerShell,执行:
where python
查看输出的路径是否和Notebook中一致。如果不一致,说明两个环境是完全独立的。
解决方法
方法1:给Jupyter内核对应的环境安装scikit-learn
用Notebook中得到的Python路径,在PowerShell中执行安装命令:
# 替换成你记录的Python路径 "C:\Users\你的用户名\AppData\Local\Programs\Python\Python310\python.exe" -m pip install scikit-learn
安装完成后,重启Jupyter内核,再尝试导入sklearn。
方法2:切换Jupyter内核到已安装scikit-learn的环境
- 打开PowerShell,进入你安装了scikit-learn的Python环境,执行:
python -m pip install ipykernel
- 为该环境添加Jupyter内核:
python -m ipykernel install --name "python310-sklearn" --display-name "Python 3.10 (已装scikit-learn)"
- 回到Jupyter Notebook,在顶部菜单栏的「Kernel」→「Change kernel」中选择刚才添加的内核,重新运行导入代码。
额外清理操作
卸载无用的sklearn 0.0占位包,避免环境混淆:
pip uninstall sklearn -y
内容的提问来源于stack exchange,提问作者user2947684
相关产品推荐
相关产品推荐

