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

构建可在AWS SageMaker使用的含sklearn、pandas的Python Docker镜像求助

报错原因

你选用的jupyter/scipy-notebook基础镜像为了减小体积,没有预装gcc、g++等编译工具链,sagemaker-training的部分依赖需要从源码编译安装,因此触发找不到gcc的错误。

解决方案

方案1:不更换现有基础镜像,补充安装编译依赖

注意jupyter系列基础镜像默认使用普通用户jovyan运行,安装系统包需要先切换到root用户,安装完成后切回默认用户避免权限问题,修改后的Dockerfile如下:

FROM jupyter/scipy-notebook

# 切换到root用户安装系统依赖
USER root
RUN apt-get update && apt-get install -y --no-install-recommends \
    gcc \
    g++ \
    make \
    && rm -rf /var/lib/apt/lists/*
# 切回默认普通用户
USER $NB_UID

RUN pip3 install sagemaker-training

COPY train.py /opt/ml/code/train.py

ENV SAGEMAKER_PROGRAM train.py

该方案保留了原镜像的所有Jupyter相关组件,适合需要在镜像内直接运行Notebook做调试的场景。

方案2:更换为SageMaker适配的专用基础镜像

推荐使用AWS官方的SageMaker Python基础镜像,该镜像原生适配SageMaker的路径、权限规范,预装了编译工具链和常用AWS依赖,不用额外处理系统依赖,Dockerfile示例如下:

# 可根据需求选择对应Python版本的标签,比如3.8、3.9、3.10
FROM amazon/aws-sagemaker-base-python:3.9

# 该镜像默认已预装pandas、scikit-learn,如有其他依赖可在这一步补充安装
RUN pip3 install --no-cache-dir sagemaker-training

COPY train.py /opt/ml/code/train.py

ENV SAGEMAKER_PROGRAM train.py

该方案冗余依赖少、镜像体积小、启动速度快,更适合正式的训练任务部署场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:27:04