Container Runtimeのノートブックでパッケージを管理する¶
Container RuntimeでのSnowflake Notebooksは現在、一般的な:code:`pip`コマンドとパッケージを管理するためのワークフローをサポートしています。これには、次の一般的なワークフローが含まれます。
:file:`requirements.txt`ファイルのようなパッケージ仕様を使用して、ノートブック環境をセットアップする。
ノートブック環境にインストールされたすべてのパッケージを表示する。
パッケージをアンインストールする。
現在のノートブック環境を把握するパッケージ仕様をエクスポートする。
ノートブック環境のパッケージを更新する。
これらのワークフローに加えて、Container RuntimeのNotebooksでは、他の:code:`pip`ワークフローをサポートしています。
前提条件¶
PyPIの外部アクセス統合(EAI) がノートブックに設定されているか、Snowflakeアカウントでアーティファクトリポジトリがアクティブであることを確認してください。PyPI EAI の詳細については、 Snowsight で外部アクセス統合を有効にします。 をご参照ください。アーティファクトリポジトリについては、:ref:`label-python_udfs_pypi`をご参照ください。
ノートブック環境にインストールされたすべてのパッケージを表示する¶
ノートブック環境に現在インストールされているパッケージの完全なリストとそれぞれのバージョンをノートブックのセルから表示するには、以下のコマンドを実行します。
!pip freeze
ノートブック環境に個々のパッケージをインストールする¶
ノートブックセルのインライン:code:`pip`コマンドを使って個々のパッケージをインストールすることで、ノートブックのPython環境を変更することができます。
ノートブックのセルからパッケージをインストールするには、以下のコマンドを実行します。
!pip install <package_name>
パッケージ仕様からパッケージをインストールしてノートブック環境をセットアップする¶
requirements.txt`ファイルのようなパッケージ仕様を使用して、ノートブックのPython環境を変更し、目的のパッケージをインストールします。次の例は、ローカルに保存された:file:`requirements.txt
ファイルからパッケージをインストールする方法を示しています。内部または外部ステージに保存された:file:`requirements.txt`ファイルから、パッケージをインストールすることもできます。
:file:`requirements.txt`ファイルをノートブックにアップロードします。
:file:`requirements.txt`ファイルについては、`ファイル形式の要件<https://pip.pypa.io/en/stable/reference/requirements-file-format/>`_をご参照ください。
ノートブックのセルからすべてのパッケージをインストールするには、以下のコマンドを実行します。
!pip install -r requirements.txt
ノートブック環境でパッケージバージョンを更新する¶
ノートブックのセルから、更新したいパッケージのバージョンに対応する以下のコマンドのいずれかを実行します。
最新バージョン:
!pip install <package_name> --upgrade
特定のバージョン:
!pip install <package_name> --<version>
更新が完了したことを確認するために、プロンプトが表示されたら、ノートブックカーネルを再起動します。
ノートブック環境からパッケージをアンインストールする¶
以下の手順を実行して、ノートブック環境でパッケージ仕様を使ってインストールしたすべてのパッケージをアンインストールします。
requirements.txt
ファイルがノートブック環境に存在することを確認します。ノートブックのセルから、以下のコマンドを実行します。
!pip uninstall -r requirements.txt
パッケージがアンインストールされたことを確認するために、プロンプトが表示されたら、ノートブックカーネルを再起動します。
パッケージ仕様としてノートブック環境のパッケージをエクスポートする¶
ノートブック環境の現在の状態を把握するパッケージ仕様をエクスポートできます。このパッケージ仕様があれば、ノートブック環境を素早く複製することができます。
ノートブックのセルから、以下のコマンドを実行します。
!pip list --format=freeze <filename>.txt
ファイルをステージにアップロードするには、次のコマンドを実行します。
session.file.put("<path to file>/<filename>.txt", "@mystage/prefix1")
ステージにファイルを保存する方法について、詳細は :ref:`label-snowsight_file_stage`をご参照ください。