未使用虚拟环境时pip安装sklearn后Jupyter仍报ModuleNotFoundError
解决Jupyter Notebook无法导入sklearn的问题
以下是几个直接有效的排查和解决步骤:
确认Jupyter使用的Python环境
先在Jupyter的单元格中运行:import sys print(sys.executable)得到当前Jupyter内核对应的Python解释器路径,比如
/Users/xxx/venv/bin/python3。然后在终端中用这个路径执行安装命令,确保sklearn装在Jupyter正在用的环境里:/Users/xxx/venv/bin/python3 -m pip install scikit-learn或者直接在Jupyter单元格里运行
!pip install scikit-learn,这样会直接使用当前内核的pip进行安装。检查虚拟环境与Jupyter Kernel的匹配
如果你用了虚拟环境,必须确保启动Jupyter前已经激活了对应的环境,或者给虚拟环境单独配置Jupyter Kernel:- 激活你的虚拟环境
- 安装ipykernel:
python -m pip install ipykernel - 将虚拟环境添加为Jupyter Kernel:
python -m ipykernel install --user --name=你的虚拟环境名称 - 重启Jupyter,在Kernel菜单中选择你刚添加的环境。
彻底清理并重装sklearn
先完全卸载现有包:pip uninstall -y scikit-learn sklearn找到Python的site-packages目录(可以运行
python -c "import site; print(site.getsitepackages())"查看路径),手动删除其中所有包含scikit_learn或sklearn的文件夹,然后重新安装:pip install scikit-learn修复Jupyter Kernel路径错误
运行jupyter kernelspec list查看所有已安装的Kernel路径,对比之前sys.executable输出的路径,如果发现不匹配的Kernel,直接删除:jupyter kernelspec remove 错误的Kernel名称然后按照第二步的方法重新添加正确的Kernel。
内容的提问来源于stack exchange,提问作者M.Ismail
相关产品推荐
相关产品推荐

