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

如何在Amazon Sagemaker Processing Job中安装Python依赖包

解决方案

方法1:搭配requirements.txt自动安装(推荐)

该方法无需修改任务提交逻辑,仅需调整本地代码目录结构和预处理脚本,即可完成依赖自动安装:

  • 在preprocessing.py所在的本地目录下新增requirements.txt,写入需要的依赖包及版本,示例内容如下:
snowflake-connector-python==3.7.0
# 其余需要的依赖包
  • 修改preprocessing.py,在导入第三方依赖的代码前,新增依赖安装逻辑:
import os
import subprocess
import sys

def install_dependencies():
    req_path = "/opt/ml/processing/input/code/requirements.txt"
    if os.path.exists(req_path):
        subprocess.check_call([
            sys.executable, "-m", "pip", 
            "install", "-r", req_path, "--quiet"
        ])

install_dependencies()

# 后续再导入业务所需的第三方包
import snowflake.connector
# 其余你的预处理逻辑
  • 调用SKLearnProcessor提交任务时,指定source_dir参数为上述本地目录的路径,code参数直接填写preprocessing.py即可,SDK会自动将整个目录内容上传到处理容器的对应路径下。

方法2:单脚本直接安装(适合依赖较少的场景)

如果仅需安装1-2个依赖,无需单独维护requirements.txt,可以直接在预处理脚本开头安装指定包:

import subprocess
import sys

# 直接安装所需依赖
subprocess.check_call([
    sys.executable, "-m", "pip", 
    "install", "snowflake-connector-python", "--quiet"
])

import snowflake.connector
# 其余你的预处理逻辑

注意事项

  • 依赖安装逻辑必须放在导入第三方包的代码之前,否则仍会触发模块未找到的报错
  • 如果依赖包体积较大、安装耗时久,待依赖版本固定后可再考虑构建自定义镜像,减少每次任务的启动等待时间

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:54:02