

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon SageMaker Studio Classic 中安裝外部程式庫與核心
<a name="studio-notebooks-add-external"></a>

**重要**  
自 2023 年 11 月 30 日起，先前的 Amazon SageMaker Studio 體驗現在命名為 Amazon SageMaker Studio Classic。下節專門介紹如何使用 Studio Classic 應用程式。如需使用已更新 Studio 體驗的資訊，請參閱 [Amazon SageMaker Studio](studio-updated.md)。  
Studio Classic 仍會針對現有工作負載進行維護，但無法再用於加入。您只能停止或刪除現有的 Studio Classic 應用程式，而且無法建立新的應用程式。建議您[將工作負載遷移至新的 Studio 體驗](studio-updated-migrate.md)。

Amazon SageMaker Studio Classic 筆記本已經安裝多個映像。這些映像含有 Jupyter 核心和 Python 套件，包含：scikit-learn、Pandas、NumPy、TensorFlow、PyTorch 和 MXNet。您也可以安裝含有自己挑選的套件和核心的自有映像。如需安裝自有的映像的更多資訊，請參閱[Amazon SageMaker Studio Classic 中的自訂映像](studio-byoi.md)。

Amazon SageMaker Studio Classic 筆記本執行個體內的不同 Jupyter 核心為各自獨立的 conda 環境。如需 conda 環境的詳細資訊，請參閱[管理環境](https://conda.io/docs/user-guide/tasks/manage-environments.html)。

## 套件安裝工具
<a name="studio-notebooks-external-tools"></a>

**重要**  
目前，Amazon SageMaker 筆記本中的所有套件都獲授權可與 Amazon SageMaker AI 搭配使用，不需要額外的商業授權。不過，這在未來可能會有所變更，我們建議您定期檢閱授權條款是否有任何更新。

您用來從終端機安裝 Python 套件的方法會因映像而有所不同。Studio Classic 支援以下軟體套件安裝工具：
+ **筆記本** — 支援下列命令。如果下列其中一項不適用於您的映像，請嘗試使用另一種方法。
  + `%conda install`
  + `%pip install`
+ **Jupyter 終端** — 您可以直接使用 pip 和 conda 安裝套件。您也可以使 `apt-get install` 用從終端機安裝系統套件。

**注意**  
我們不建議使用 `pip install -u` 或 `pip install --user`，因為這些命令會在使用者的 Amazon EFS 磁碟區上安裝套件，而且可能會阻止 JupyterServer 應用程式重新啟動。相反的，使用生命週期組態在應用程式重新啟動時重新安裝所需的套件，如[使用生命週期組態安裝套件](#nbi-add-external-lcc)中所示。

我們建議您在筆記本中使用 `%pip` 和 `%conda` 安裝套件，因為它們會正確考慮使用中的環境或解譯器。有關更多資訊，請參閱[新增 %pip 和 %conda 魔法函式](https://github.com/ipython/ipython/pull/11524)。您也可以使用系統指令語法 (以 \$1 開頭的行) 安裝軟體套件。例如，`!pip install` 和 `!conda install`。

### Conda
<a name="studio-notebooks-add-external-tools-conda"></a>

Conda 是一個開放原始碼軟體套件管理系統和環境管理系統，可以安裝軟體套件及其相依項。SageMaker AI 支援搭配 conda-forge 通道使用 conda。有關更多資訊，請參閱 [Conda 通道](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)。該 conda-forge 通道是一個社群通道，讓貢獻者可以上傳套件。

**注意**  
從 conda-forge 安裝套件最多可能需要 10 分鐘的時間。時間與 conda 如何解析依賴關係圖有關。

所有 SageMaker AI 提供的環境都可以正常運作。使用者安裝套件可能無法正常運作。

Conda 有兩種啟動環境的方法：`conda activate` 和 `source activate`。如需更多資訊，請參閱[管理環境](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)。

**受支援的 conda 操作**
+ 在單一環境中的 `conda install` 套件
+ 在所有環境中的 `conda install` 套件
+ 從主要 conda 儲存庫安裝套件
+ 從 conda-forge 安裝套件
+ 更改 conda 安裝位置以使用 Amazon EBS
+ 同時支援 `conda activate` 和 `source activate`

### Pip
<a name="studio-notebooks-add-external-tools-pip"></a>

Pip 是用於安裝和管理 Python 套件的工具。Pip 依預設會搜尋 Package Index (PyPI) 上的套件。與 conda 不同，pip 沒有內建環境支援。因此，當涉及到具有原生或系統程式庫相依性的軟體套件時，pip 並不像 conda 那樣徹底。Pip 可用於在 conda 環境中安裝軟體套件。替代套件儲存庫可以與 pip 而不是 PyPI 搭配使用。

**受支援的 pip 作業**
+ 使用 pip 在沒有活動 conda 環境的情況下安裝套件
+ 使用 pip 在 conda 環境中安裝套件
+ 使用 pip 在所有 conda 環境中安裝套件
+ 更改 pip 安裝位置以使用 Amazon EBS
+ 使用替代儲存庫搭配 pip 安裝套件

### 不支援
<a name="studio-notebooks-add-external-tools-misc"></a>

SageMaker AI 旨在支援盡可能多的套件安裝作業。但是，如果套件是由 SageMaker AI 安裝，而您對這些套件執行下列作業，則可能會使您的環境不穩定：
+ 解除安裝
+ 降級
+ 升級

由於網路狀況或組態的潛在問題，或者 conda 或 PyPi 的可用性，套件可能無法在固定或決定性的時間內安裝。

**注意**  
嘗試在具有不相容相依項的環境中安裝套件可能會導致失敗。如果發生問題，您可以聯絡程式庫維護者有關更新套件相依項的資訊。當您修改環境 (例如移除或更新現有套件) 時，這可能會導致該環境不穩定。

## 使用生命週期組態安裝套件
<a name="nbi-add-external-lcc"></a>

在 Studio Classic 執行個體的 Amazon EBS 磁碟區上安裝自訂映像和核心，以便在您停止並重新啟動筆記本時保留這些映像和核心，而 SageMaker AI 不會更新您安裝的任何外部程式庫。若要這麼做，請使用生命週期組態，其中包含建立筆記本時執行的指令碼 (`on-create)` 以及每次重新啟動筆記本時執行的指令碼 (`on-start`))。如需搭配 Studio Classic 使用生命週期組態的詳細資訊，請參閱[使用生命週期組態自訂 Amazon SageMaker Studio Classic](studio-lcc.md)。如需範例生命週期組態指令碼，請參閱 [SageMaker AI Studio Classic 生命週期組態範例](https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples)。