You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook出现No module named sklearn.model_selection报错的解决办法

解决ImportError: No module named sklearn.model_selection的方案

这个问题大概率是终端和Jupyter Notebook使用的Python环境不一致,或者你的scikit-learn版本太老导致的,下面是一步步的排查和解决方法:

第一步:确认环境是否一致

首先得搞清楚终端和Notebook用的是不是同一个Python解释器:

  • 在终端里运行:
    # Linux/macOS
    which python
    # Windows
    where python
    
    记下输出的路径。
  • 在你的boston_housing.ipynb里新建一个代码块,运行:
    import sys
    print(sys.executable)
    
    对比两个路径,如果不一样,说明Notebook用的是另一个Python环境,里面的scikit-learn要么没装,要么版本不对。

第二步:让Notebook使用终端的环境

如果终端用的是虚拟环境(比如conda环境或者venv),按下面步骤操作:

  1. 回到终端,激活你的虚拟环境:
    # conda环境示例
    conda activate your_env_name
    # venv环境示例(Linux/macOS)
    source your_env_name/bin/activate
    # venv环境示例(Windows)
    your_env_name\Scripts\activate
    
  2. 安装ipykernel(让Jupyter识别这个环境):
    pip install ipykernel
    
  3. 将这个环境添加到Jupyter的内核列表:
    python -m ipykernel install --user --name=your_env_name --display-name="Python (your_env_name)"
    
  4. 重启Jupyter Notebook,在右上角的Kernel菜单里选择刚刚添加的Python (your_env_name)内核,再重新运行导入代码。

第三步:升级scikit-learn版本

如果环境是一致的,那很可能是你的scikit-learn版本太旧——sklearn.model_selection是在scikit-learn 0.18版本之后才新增的模块。
在Notebook里新建代码块,运行:

!pip install --upgrade scikit-learn

安装完成后,重启Notebook内核,再尝试导入模块。

额外检查:确认Python版本

如果上面的方法都没用,检查一下Notebook的Python版本是不是Python2(Python2已经停止维护,scikit-learn的新版本不再支持它):

import sys
print(sys.version)

如果是Python2,建议切换到Python3环境,再重新安装scikit-learn。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:27:07