メインコンテンツまでスキップ

ノートブック スコープの Python ライブラリ

ノートブックスコープのライブラリを使用すると、ノートブック固有のカスタムPython環境を作成、変更、保存、再利用、共有できます。ノートブックスコープのライブラリをインストールした場合、現在のノートブックとそのノートブックに関連付けられたジョブのみがそのライブラリにアクセスできます。同じクラスターに接続されている他のノートブックは影響を受けません。

ノートブックスコープのライブラリはセッションをまたがって保持されません。各セッションの開始時、またはノートブックがクラスターから切り離されるたびに、ノートブックスコープのライブラリを再インストールする必要があります。

Databricks では、 %pip マジック コマンドを使用して、ノートブック スコープの Python ライブラリをインストールすることをお勧めします。

ジョブとしてスケジュールされたノートブックで %pip を使用できます。 Python 環境を Scala、SQL、または R ノートブックで管理する必要がある場合は、 %python magic コマンドを %pipと組み合わせて使用 します。

ノートブック スコープのライブラリのインストールを操作すると、ドライバー ノードへのトラフィックが増える可能性があります。 「ノートブック スコープのライブラリを操作する場合、ドライバー ノードはどのくらいの大きさにする必要がありますか?」を参照してください

クラスターにアタッチされているすべてのノートブックにライブラリをインストールするには、クラスター ライブラリを使用します。 クラスター ライブラリを参照してください。

Databricks に Python ライブラリをインストールするために使用できるオプションの包括的な概要については、「 Python 環境の管理」を参照してください。

注記

Databricks Runtime 10.4 LTS 以下では、(レガシ) Databricks ライブラリ ユーティリティを使用できます。 ライブラリ ユーティリティは Databricks Runtime でのみサポートされ、Databricks Runtime ML ではサポートされていません。 ライブラリ ユーティリティ (dbutils.ライブラリ) (legacy)を参照してください。

%pipコマンドによるライブラリの管理

%pip コマンドは pip コマンドと同等で、同じ API をサポートします。次のセクションでは、 %pip コマンドを使用して環境を管理する方法の例を示します。 pip を使用した Python パッケージのインストールの詳細については、 pip インストールのドキュメント と関連ページを参照してください。

important
  • Databricks Runtime 13.0 以降では、 %pip コマンドは Python プロセスを自動的に再起動しません。 新しいパッケージをインストールする場合、または既存のパッケージを更新する場合は、新しいパッケージを表示するために dbutils.library.restartPython() を使用する必要がある場合があります。 「Databricks で Python プロセスを再起動する」を参照してください。
  • Databricks Runtime 12.2 LTS 以前について、Databricks ではすべての %pip コマンドをノートブックの先頭に配置することをお勧めします。ノートブックの状態は、環境を変更する %pip コマンドの後にリセットされます。ノートブックで Python メソッドまたは変数を作成し、その後のセルで %pip コマンドを使用すると、メソッドまたは変数は失われます。
  • コア Python パッケージ(IPythonなど)を %pip でアップグレード、変更、またはアンインストールすると、一部の機能が想定どおりに動作しなくなる可能性があります。このような問題が発生した場合は、ノートブックを取り外してから取り付け直すか、クラスターを再起動して、環境をリセットしてください。

ライブラリのインストール %pip

Python
%pip install matplotlib

Python wheelパッケージを次のようにインストールします。 %pip

Python
%pip install /path/to/my_package.whl

ライブラリのアンインストール %pip

注記

Databricks Runtimeリリースノートのバージョンと互換性 に含まれているライブラリ またはクラスター ライブラリ としてインストールされているライブラリはアンインストールできません。Databricks Runtime に含まれているライブラリ バージョンまたはクラスタにインストールされているライブラリ バージョンとは異なるライブラリ バージョンをインストールした場合は、%pip uninstall を使用してライブラリを Databricks Runtime のデフォルト バージョンまたはクラスタにインストールされているバージョンに戻すことができますが、%pip コマンドを使用して、Databricks Runtime に含まれているライブラリまたはクラスタにインストールされているライブラリのバージョンをアンインストールすることはできません。

Python
%pip uninstall -y matplotlib

-y オプションは必須です。

バージョン管理システムからライブラリをインストールするには、 %pip

Python
%pip install git+https://github.com/databricks/databricks-cli

URL にパラメータを追加すると、バージョンや git サブディレクトリなどを指定できます。詳細や他のバージョン管理システムの使用例については、VCS サポートを参照してください。

Databricks シークレットによって管理される資格情報を使用してプライベート パッケージをインストールします。 %pip

pip は、プライベートバージョン管理システムやNexusArtifactory などのプライベートパッケージリポジトリなど、 基本認証 を使用したプライベートソースからのパッケージのインストールをサポートします。シークレット管理は、Databricks Secrets API を介して利用でき、認証トークンとパスワードを保存できます。 DBUtils API を使用して、ノートブックからシークレットにアクセスします。マジックコマンドで $variables を使用できることに注意してください。

プライベートリポジトリからパッケージをインストールするには、--index-url オプションを使用してリポジトリ URL を %pip install に指定するか、~/.pip/pip.conf にある pip 構成ファイルに追加します。

Python
token = dbutils.secrets.get(scope="scope", key="key")
Bash
%pip install --index-url https://<user>:$token@<your-package-repository>.com/<path/to/repo> <package>==<version> --extra-index-url https://pypi.org/simple/

同様に、マジックコマンドによるシークレット管理を使用すると、バージョン管理システムからプライベートパッケージをインストールできます。

Python
token = dbutils.secrets.get(scope="scope", key="key")
Bash
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>

DBFS からパッケージをインストールするには、次のようにします。 %pip

important

すべてのワークスペース ユーザーは、DBFS に格納されているファイルを変更できます。 Databricks では、ワークスペースまたは Unity Catalog ボリュームにファイルを格納することをお勧めします。

%pipを使用すると、DBFSに保存されているプライベートパッケージをインストールできます。

DBFS にファイルをアップロードすると、スペース、ピリオド、ハイフンがアンダースコアに置き換えられて、ファイルの名前が自動的に変更されます。 Python wheelファイルの場合、pipでは、ファイル名にバージョンのピリオド (0.1.0 など) を使用する必要がありますまた、スペースやアンダースコアの代わりにハイフンを使用するため、これらのファイル名は変更されません。

Python
%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl

ボリュームからパッケージをインストールするには、 %pip

備考

プレビュー

この機能は パブリック プレビュー段階です。

Databricks Runtime 13.3 LTS 以降では、 %pip を使用して、ボリュームに保存されたプライベート パッケージをインストールできます。

ボリュームにファイルをアップロードすると、スペース、ピリオド、ハイフンがアンダースコアに置き換えられ、ファイルの名前が自動的に変更されます。 Python wheelファイルの場合、pipでは、ファイル名にバージョンのピリオド (0.1.0 など) を使用する必要がありますまた、スペースやアンダースコアの代わりにハイフンを使用するため、これらのファイル名は変更されません。

Python
%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl

ワークスペースファイルとして保存されているパッケージを次のようにインストールします。 %pip

Databricks Runtime 11.3 LTS 以降では、 %pip を使用して、ワークスペース ファイルとして保存されているプライベート パッケージをインストールできます。

Python
%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl

要件ファイルへのライブラリの保存

Python
%pip freeze > /Workspace/shared/prod_requirements.txt

ファイルパスにサブディレクトリがすでに存在している必要があります。%pip freeze > /Workspace/<new-directory>/requirements.txtを実行する場合、ディレクトリ/Workspace/<new-directory>が存在していないと、コマンドは失敗します。

要件ファイルを使用してライブラリをインストールする

要件ファイルにはpipを使用してインストールするパッケージのリストが含まれています。要件ファイルの使用例を次に示します。

Python
%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 を使用します。

大規模なクラスターの場合は、より大きなドライバーノードを使用します。

%sh pip!pippipは使えますか?違いは何ですか?

%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 以下では一貫していません。

既知の問題