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

在GCP Vertex AI Workbench运行KFP Pipeline时遇sklearn导入错误求助

问题解决办法

出现ModuleNotFoundError: No module named 'sklearn'的原因及对应修复方案如下:

1. 修正PyPI包名

PyPI上scikit-learn的正式包名是scikit-learn,sklearn只是一个轻量别名包,部分环境可能无法正确解析该别名。将组件定义中的包列表修改为:

@component(
    packages_to_install=["scikit-learn"],  # 替换原有的"sklearn"
    base_image="python:3.9",
)

2. 补充系统级依赖

使用python:3.9基础镜像时,缺少scikit-learn编译所需的系统工具(如gcc、编译库),导致安装失败。可以通过两种方式解决:

  • 方式一:使用预配置的AI平台镜像
    替换基础镜像为Google提供的包含AI依赖的镜像,无需手动安装系统工具:
    @component(
        packages_to_install=["scikit-learn"],
        base_image="gcr.io/deeplearning-platform-release/base-cpu:py39",
    )
    
  • 方式二:添加系统包依赖
    在组件定义中通过apt_packages参数安装所需系统工具:
    @component(
        packages_to_install=["scikit-learn"],
        base_image="python:3.9",
        apt_packages=["gcc", "g++", "libopenblas-dev", "liblapack-dev"]
    )
    

3. 验证安装状态

在组件中添加版本打印代码,确认scikit-learn是否成功安装:

def test_sklearn():
    import sklearn
    print(f"scikit-learn 版本: {sklearn.__version__}")

4. 检查网络权限

如果你的Vertex AI运行环境处于私有VPC中,需确保环境能访问PyPI源。可以配置VPC的云NAT实现对外访问,或者使用内部PyPI镜像源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:51:16