ノートブック スコープの Python ライブラリ
ノートブックスコープのライブラリを使用すると、ノートブック固有のカスタムPython環境を作成、変更、保存、再利用、共有できます。ノートブックスコープのライブラリをインストールした場合、現在のノートブックとそのノートブックに関連付けられたジョブのみがそのライブラリにアクセスできます。同じクラスターに接続されている他のノートブックは影響を受けません。
ノートブックスコープのライブラリはセッションをまたがって保持されません。各セッションの開始時、またはノートブックがクラスターから切り離されるたびに、ノートブックスコープのライブラリを再インストールする必要があります。
Databricks 、 %pipマジック コマンドを使用してノートブック スコープのPythonをインストールすることをお勧めします。 サーバレス ノートブック実行環境バージョン 5以降では、 %uv pipを使用してインストールを高速化することもできます。
ジョブとしてスケジュールされたノートブックで %pip を使用できます。 Python 環境を Scala、SQL、または R ノートブックで管理する必要がある場合は、 %python magic コマンドを %pipと組み合わせて使用 します。
ノートブックスコープのライブラリインストールを行う場合、ドライバノードへのトラフィックが増加する可能性があります。ドライバノードのサイズに関する推奨事項を参照してください。
クラスターにアタッチされているすべてのノートブックにライブラリをインストールするには、クラスター ライブラリを使用します。 コンピュート-scoped ライブラリを参照してください。
Databricks に Python ライブラリをインストールするために使用できるオプションの包括的な概要については、「 Python 環境の管理」を参照してください。
%pipコマンドによるライブラリの管理
%pip コマンドは pip コマンドと同等で、同じ API をサポートします。次のセクションでは、 %pip コマンドを使用して環境を管理する方法の例を示します。 pip を使用した Python パッケージのインストールの詳細については、 pip インストールのドキュメント と関連ページを参照してください。
%pipコマンドはPythonプロセスを自動的に再起動しません。新しいパッケージをインストールしたり、既存のパッケージを更新したりした場合は、新しいパッケージを表示するためにdbutils.library.restartPython()使用する必要がある場合があります。Databricks で Python プロセスを再起動する方法を参照してください。%pipを使用してコアPythonパッケージ(IPythonなど)をアップグレード、変更、またはアンインストールすると、一部の機能が期待どおりに動作しなくなる場合があります。このような問題が発生した場合は、 クラスタリング 再起動するか、新しいセッションを開始して、環境をリセットしてください。
インストールがさらに速くなる %uv pip
%uv pip は、サーバレス ノートブック実行環境バージョン 5以降でのみ使用できます。 クラシック コンピュートおよびそれ以前のサーバレス環境のバージョンは、 %uv pipをサポートしていません。
%uv pipマジックコマンドは%pipよりも高速な代替手段です。%uv pipはuvパッケージマネージャーによって動作し、 %pipと同じノートブック仮想環境を共有しているため、一方のツールでインストールされたパッケージはもう一方のツールからも参照できます。
%uv pip インストールや読み取り専用操作(例: listでは、 %pipよりも高速です。このため、環境仕様に基づいて反復的な開発を行うのに非常に適しています。
%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
Python wheelパッケージを次のようにインストールします。 %pip
%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 オプションを使用してリポジトリ URL を %pip install に指定するか、~/.pip/pip.conf にある pip 構成ファイルに追加します。
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>
DBFS からパッケージをインストールするには、次のようにします。 %pip
すべてのワークスペース ユーザーは、DBFS に格納されているファイルを変更できます。 Databricks では、ワークスペースまたは Unity Catalog ボリュームにファイルを格納することをお勧めします。
%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ファイルの詳細については、「Requirements File Format」を参照してください。
ドライバーノードサイズの推奨事項
ノートブックスコープのライブラリを使用すると、エグゼキューターノード間で環境の一貫性を保つためにドライバーノードへのトラフィックが増加する可能性があります。
ノード数が 10 以上のクラスターを使用する場合、Databricks はドライバーノードの最小要件として次の仕様を推奨します。
- 100 ノード CPU クラスターの場合は、x86 には r6id.8xlarge を、ARM には r7gd.8xlarge を使用します。
- ノード数が 10 の GPU クラスターの場合は、p2.xlarge を使用します。
大規模なクラスターの場合は、より大きなドライバーノードを使用します。
%pip 、 %sh pip 、およびの違い !pip
%sh ノートブックでシェルコマンドを実行する ! 。前者はDatabricks の補助魔法コマンド であり、後者はIPythonの機能です。 pip は、%pip が有効になっている場合の省略形であり、 これは automagic の default 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 カーネル を使用することをお勧めします。