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

升级Python后遇ModuleNotFoundError:skrub模块无法导入

问题描述
  • 原环境:Jupyter Lab + Python 3.9
  • 需求:安装skrub(scikit-learn扩展库,要求Python 3.10及以上),因此安装了Python 3.12.2
  • 异常情况:
    1. 在Jupyter中用! python --version确认当前为Python 3.12.2,执行!pip install skrub显示安装成功,但执行from skrub import TableVectorizer时触发ModuleNotFoundError: No module named 'skrub'
    2. 此前在Python 3.9环境下执行魔法命令安装skrub时,出现错误:
      ERROR: Ignored the following versions that require a different python version: 0.1.0 Requires-Python >=3.10
      ERROR: Could not find a version that satisfies the requirement skrub (from versions: none)
      ERROR: No matching distribution found for skrub
      
  • 疑问:是否需要完全卸载Python 3.9?如何解决模块找不到的问题?
解决办法

无需卸载Python 3.9,问题核心是Jupyter当前使用的Kernel仍为Python 3.9,但!pip install将skrub装到了Python 3.12的环境中,两者路径不匹配导致找不到模块。具体步骤如下:

  1. 确认当前Kernel的Python路径
    在Jupyter笔记本中执行以下代码,查看当前Kernel实际使用的Python路径:

    import sys
    print(sys.executable)
    

    如果输出路径指向Python 3.9的安装目录,说明Kernel未切换到3.12。

  2. 给Python 3.12添加Jupyter Kernel
    打开Windows命令提示符(CMD),找到Python 3.12的可执行文件路径(例如默认路径为C:\Python312\python.exe),执行以下命令:

    # 给Python3.12安装ipykernel依赖
    C:\Python312\python.exe -m pip install ipykernel
    # 将Python3.12注册为Jupyter的Kernel
    C:\Python312\python.exe -m ipykernel install --user --name=python312 --display-name="Python 3.12"
    
  3. 切换Jupyter Kernel到Python 3.12
    在Jupyter Lab界面右上角,点击当前的Kernel名称(例如显示为"Python 3"),选择「Change Kernel」,然后在列表中选择刚添加的「Python 3.12」。

  4. 验证并测试
    切换Kernel后,依次执行以下代码确认:

    # 确认Python版本
    !python --version
    # 重新安装skrub(或直接导入,若之前已装到3.12路径可跳过)
    !pip install skrub
    # 导入模块测试
    from skrub import TableVectorizer
    
补充说明
  • 保留Python 3.9完全没问题,可用于兼容其他依赖旧版本Python的项目,只需在Jupyter中切换对应Kernel即可。
  • 之前!pip install看似成功,是因为!python调用的是系统PATH中优先级更高的Python 3.12,但Jupyter Kernel仍在使用3.9的环境,两者的包安装目录相互独立。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 03:37:33