在亚马逊安装外部库和内核 SageMaker 工作室 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在亚马逊安装外部库和内核 SageMaker 工作室

亚马逊 SageMaker Studio 笔记本电脑已经安装了多个映像。这些映像包含内核和 Python 程序包,包括 scikit、熊猫、NumPy、TensorFlow 和 MXNet。您还可以安装自己的映像,其中包含您选择的程序包和内核。有关安装映像的更多信息,请参阅自带 SageMaker 图像.

亚马逊中不同的 Jupyter 内核 SageMaker Studio 笔记本是独立的 conda 环境。有关 Conda 环境的更多信息,请参阅。管理环境.

Package 安装工具

从终端安装 Python 软件包的方法因图像而异。Studio 支持以下软件包安装工具:

  • 笔记本— 支持以下命令。如果以下其中一项不适用于您的图片,请尝试另一个。

    • %conda install

    • %pip install

  • Jupyter 终端— 你可以直接使用 pip 和 conda 安装软件包。您还可以使用apt-get install从终端安装系统包。

注意

我们建议不要使用pip install -u要么pip install --user,因为这些命令将软件包安装在用户的 Amazon EFS 卷上,并且可能会阻止 JupyterServer 应用程序重新启动。相反,使用生命周期配置在应用程序重启时重新安装所需的软件包,如中所示使用生命周期配置安装包.

我们建议使用%pip%conda从笔记本中安装软件包,因为它们正确考虑了正在使用的激活环境或解释器。有关更多信息,请参阅 。添加 %pip 和 %conda 魔术函数. 你也可以使用 system 命令语法(以! 开头的行) 来安装软件包。例如,!pip install!conda install

Conda

Conda 是一个开源程序包管理系统和环境管理系统,可以安装软件包及其依赖项。 SageMaker 支持将 conda 用于这两个主要频道中的任何一个:默认频道或 conda-FORGE 频道。有关更多信息,请参阅 。Conda 频道. conda-forge 频道是一个社区频道,贡献者可以在其中上传包裹。

注意

从 Cona-Forge 安装软件包最多可能需要 10 分钟。时机与 conda 如何解析依赖关系图有关。

所有 SageMaker 前提是环境正常运行。用户安装的包可能无法正常工作。

Conda 有两种激活环境的方法:conda activate, 和source activate. 有关更多信息,请参阅 。管理环境.

支持的 conda 操作
  • conda install在单个环境中的软件包

  • conda install在所有环境中的软件包

  • 从主 conda 存储库安装软件包

  • 从 conda-Forge 安装软件包

  • 更改 conda 安装位置以使用亚马逊 EBS

  • 支持两者conda activatesource activate

Pip

Pip 是安装和管理 Python 软件包的工具。默认情况下,Pip 在 Python 程序 Package 索引 (PyPI) 上搜索程序包。与 conda 不同,pip 没有内置的环境支持。因此,对于具有本机或系统库依赖关系的软件包而言,pip 并不像 conda 那么彻底。Pip 可以用来在 conda 环境中安装软件包。您可以将替代软件包存储库与 pip 一起使用,而不是 PyPI。

支持的点操作
  • 使用 pip 在没有活动 conda 环境的情况下安装软件包

  • 使用 pip 在 conda 环境中安装软件包

  • 使用 pip 在所有 conda 环境中安装软件包

  • 更改 pip 安装位置以使用亚马逊 EBS

  • 使用替代存储库使用 pip 安装软件包

不支持

SageMaker 旨在支持尽可能多的软件包安装操作。但是,如果软件包是由 SageMaker 而且您对这些软件包使用以下操作,可能会使您的环境不稳定:

  • 卸载

  • 降级

  • 升级

由于网络条件或配置的潜在问题,或者 Conda 或 PyPi 的可用性,软件包可能无法在固定或确定性的时间内安装。

注意

尝试在具有不兼容依赖关系的环境中安装软件包可能会导致失败。如果出现问题,您可以联系库维护者了解更新软件包依赖关系。当您修改环境(例如删除或更新现有软件包)时,这可能会导致该环境的不稳定性。

使用生命周期配置安装包

在 Studio 实例的 Amazon EBS 卷上安装自定义映像和内核,以便在您停止并重新启动笔记本电脑时它们持续存在,并且 SageMaker 不会更新您安装的任何外部库。要做到这一点,请使用包含创建笔记本时运行的脚本的生命周期配置 (on-create)以及每次重新启动笔记本时运行的脚本(on-start)。有关在 Studio 中使用生命周期配置的更多信息,请参阅将生命周期配置与亚马逊 SageMaker 工作室. 有关生命周期配置脚本示例,请SageMaker Studio 生命周期配置示例.