ノートブック スコープのライブラリを使用すると、ノートブックに固有のカスタム Python 環境を作成、変更、保存、再利用、共有できます。 ノートブック スコープのライブラリをインストールすると、現在のノートブックと、そのノートブックに関連付けられているすべてのジョブにのみ、そのライブラリへのアクセス権が付与されます。 同じクラスターにアタッチされている他のノートブックは影響を受けません。
ノートブック単位のライブラリは、セッションをまたいで保持されません。 各セッションの開始時、またはノートブックがクラスターからデタッチされるたびに、ノートブック スコープのライブラリを再インストールする必要があります。
Databricks では、%pip マジック コマンドを使用して、ノートブックスコープの Python ライブラリをインストールすることをお勧めします。
環境バージョン 5 以上を実行しているサーバーレス ノートブックでは、%uv pipを使用してインストールを高速化することもできます。
ジョブとしてスケジュールされたノートブックで %pip を使用できます。 Scala、SQL、または R ノートブックで Python 環境を管理する必要がある場合は、%python マジック コマンドを %pip と組み合わせて使用します。
ノートブック スコープのライブラリをインストールすると、ドライバー ノードへのトラフィックが増加する可能性があります。 ドライバー ノード のサイズに関する推奨事項を参照してください。
クラスターにアタッチされているすべてのノートブックにライブラリをインストールするには、クラスター ライブラリを使用します。 コンピュート範囲ライブラリを参照してください。
Databricks に Python ライブラリをインストールするために使用できるオプションの包括的な概要については、「 Python 環境管理を参照してください。
%pip コマンドを使用してライブラリを管理する
%pip コマンドは pip コマンドと同等であり、同じ API をサポートします。 以下のセクションでは、%pip コマンドを使用して環境を管理する方法の例を示します。
pip を使用した Python パッケージのインストールの詳細については、pip install のドキュメントと関連ページを参照してください。
重要
-
%pipコマンドは、Python プロセスを自動的に再起動しません。 新しいパッケージをインストールするか、既存のパッケージを更新する場合は、dbutils.library.restartPython()を使用して新しいパッケージを表示する必要があります。 「Azure Databricks で Python プロセスを再起動する」を参照してください。 -
%pipを使用してコア Python パッケージ (IPython など) をアップグレード、変更、またはアンインストールすると、一部の機能が期待どおりに動作しなくなる場合があります。 このような問題が発生した場合は、クラスターを再起動するか、新しいセッションを開始して、環境をリセットします。
を使用してインストールを高速化する %uv pip
注
%uv pip は、 環境バージョン 5 以降を実行しているサーバーレス ノートブックでのみ使用できます。 クラシック コンピューティング以前のサーバーレス環境バージョンでは、 %uv pipはサポートされていません。
%uv pipマジックコマンドは、%pipに代わる高速な方法です。
%uv pip は uv パッケージ マネージャーを使用し、 %pipと同じノートブック仮想環境を共有するため、1 つのツールでインストールされたパッケージがもう一方のツールで表示されます。
%uv pipは、インストールや%pipなどの読み取り専用操作のlistよりも高速です。 これにより、環境の仕様に基づくイテレーションに適しています。
%uv pip では、標準の pip サブコマンド ( install、 uninstall、 list、 show、 freeze、 check、および tree) がサポートされます。
%uv pip install simplejson
%uv pip list
このページのその他のインストール パターン (ボリューム、ワークスペース ファイル、要件ファイル、バージョン管理、プライベート リポジトリ) は、 %uv pipで動作します。 これらの例では、 %pip を %uv pip に置き換えることができます。
%uv pip 制限
-
%uv pip uninstallでは、サーバーレス環境にプレインストールされているライブラリを完全に削除できません。 パッケージ メタデータのみが削除されます。 基になるファイルはファイル システムに残り、パッケージは引き続きインポートできます。 -
%uv pipは、プレインストールされているライブラリに対する依存関係の競合をチェックしません。 -
%uv pipコマンドを実行すると、ノートブックの [環境] サイド パネルに、プレインストールされているライブラリがユーザーインストール済みとして表示されることがあります。 これは表示の問題であり、パッケージの機能には影響しません。 -
%uv pipは、高速な対話型反復を目的としています。 ノートブックの再現可能な環境を設定するには、ノートブックの [環境 ] サイド パネルに依存関係を追加します。
%pip を使用してライブラリをインストールする
%pip install matplotlib
%pip を使用して Python wheel パッケージをインストールする
%pip install /path/to/my_package.whl
%pip を使用してライブラリをアンインストールする
注
Databricks Runtime リリース ノートのバージョンと互換性に含まれているライブラリや、クラスター ライブラリとしてインストールされているライブラリはアンインストールできません。 Databricks Runtime に含まれているもの、またはクラスターにインストールされているものと異なるバージョンのライブラリがインストールされている場合、%pip uninstall を使用して、Databricks Runtime の既定のバージョンまたはクラスターにインストールされているバージョンにライブラリを戻すことができます。ただし、%pip コマンドを使用して、Databricks Runtime に含まれている、またはクラスターにインストールされているバージョンのライブラリをアンインストールすることはできません。
%pip uninstall -y matplotlib
-y オプションは必須です。
%pip を使用してバージョン管理システムからライブラリをインストールする
%pip install git+https://github.com/databricks/databricks-cli
URL にパラメーターを追加して、バージョンや git サブディレクトリなどを指定できます。 詳細およびその他のバージョン管理システムの使用例については、VCS のサポートに関するページを参照してください。
Databricks シークレットによって管理される資格情報と %pip を使用してプライベート パッケージをインストールする
pip は、プライベート バージョン管理システムやプライベート パッケージ リポジトリ (Nexus や Artifactoryなど) を含む、基本認証を使用したプライベート ソースからのパッケージのインストールをサポートしています。 シークレット管理は、認証トークンとパスワードを保存するための Databricks Secrets API を介して利用できます。
DBUtils API を使用して、ノートブックからシークレットにアクセスします。 マジック コマンドで $variables を使用できることに注意してください。
プライベート リポジトリからパッケージをインストールするには、--index-url の %pip install オプションでリポジトリの URL を指定するか、pip 内の ~/.pip/pip.conf 構成ファイルに追加します。
token = dbutils.secrets.get(scope="scope", key="key")
%pip install --index-url https://<user>:$token@<your-package-repository>.com/<path/to/repo> <package>==<version> --extra-index-url https://pypi.org/simple/
同様に、マジック コマンドでシークレット管理を使用して、バージョン管理システムからプライベート パッケージをインストールできます。
token = dbutils.secrets.get(scope="scope", key="key")
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>
%pip を使用して DBFS からパッケージをインストールする
重要
ワークスペース ユーザーは、DBFS に格納されているファイルを変更できます。 Azure Databricks では、ワークスペースまたは Unity カタログ ボリュームにファイルを格納することをお勧めします。
%pip を使用して、DBFS に保存されているプライベート パッケージをインストールできます。
DBFS にファイルをアップロードすると、ファイルの名前が自動的に変更され、スペース、ピリオド、ハイフンがアンダースコアに置き換えられます。 Python wheel ファイルの場合、これらのファイル名が変更されないようにするために、pip では、ファイル名のバージョン部分にピリオド (例: 0.1.0) を、また、スペースまたはアンダースコアの代わりにハイフンを使用する必要があります。
%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl
%pip を使用してボリュームからパッケージをインストールする
重要
この機能はパブリック プレビュー段階にあります。
Databricks Runtime 13.3 LTS 以降では、%pip を使用 して、ボリュームに保存されているプライベート パッケージをインストールできます。
ボリュームにファイルをアップロードすると、ファイルの名前が自動的に変更され、スペース、ピリオド、ハイフンがアンダースコアに置き換えられます。 Python wheel ファイルの場合、これらのファイル名が変更されないようにするために、pip では、ファイル名のバージョン部分にピリオド (例: 0.1.0) を、また、スペースまたはアンダースコアの代わりにハイフンを使用する必要があります。
%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl
%pip を使用してワークスペース ファイルとして格納されたパッケージをインストールする
Databricks Runtime 11.3 LTS 以降では、%pip を使用して、ワークスペース ファイルとして保存されているプライベート パッケージをインストールできます。
%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl
要件ファイルにライブラリを保存する
%pip freeze > /Workspace/shared/prod_requirements.txt
ファイル パス内のすべてのサブディレクトリが既に存在している必要があります。
%pip freeze > /Workspace/<new-directory>/requirements.txt ディレクトリがまだ存在しない状態で /Workspace/<new-directory> を実行すると、コマンドは失敗します。
要件ファイルを使用してライブラリをインストールする
要件ファイルには、pip を使用してインストールするパッケージのリストが含まれます。 要件ファイルの使用例を次に示します。
%pip install -r /Workspace/shared/prod_requirements.txt
ファイルの詳細については、要件ファイルの形式requirements.txtに関するページを参照してください。
ドライバー ノード のサイズに関する推奨事項
ノートブック スコープのライブラリを使用すると、Executor ノード間で環境の一貫性を保つ方向に作用するため、ドライバー ノードへのトラフィックが増加する可能性があります。
10 以上のノードがあるクラスターを使用する場合、Databricks では、ドライバー ノードの最小要件として次の仕様を推奨しています。
- 100 ノード CPU クラスターの場合は、Standard_D8ds_v5を使用します。
- 10 ノード GPU クラスターの場合は、Standard_NC12 を使用します。
より大規模なクラスターの場合は、より大規模なドライバー ノードを使用します。
%pip、%sh pip、および!pip の違い
%sh と ! では、ノートブックでシェル コマンドが実行されます。前者は Databricks の補助マジック コマンドであり、後者は IPython の機能です。
pip は、automagic が有効な場合の %pip の略記です。これは Azure Databricks の Python ノートブックでは既定です。
Databricks Runtime 11.3 LTS 以降では、%pip、%sh pip、!pip のすべてで、ノートブック スコープの Python ライブラリとしてライブラリがインストールされます。 Databricks Runtime 10.4 LTS 以降では、Databricks は、%pip または pip のみを使用してノートブック スコープ ライブラリをインストールすることをお勧めしています。
%sh pip と !pip の動作は、Databricks Runtime 10.4 LTS 以下では一貫性がありません。
既知の問題
- Databricks Runtime 9.1 LTS では、ノートブック スコープのライブラリはバッチ ストリーミング ジョブと互換性がありません。 Databricks では、代わりにクラスター ライブラリまたは IPython カーネルを使用することをお勧めしています。