%conda
コマンドによるライブラリの管理(レガシー)
このドキュメントは廃止されており、更新されない可能性があります。 このコンテンツに記載されている製品、サービス、またはテクノロジはサポートされなくなりました。 ノートブック スコープの Python ライブラリを参照してください。
%conda
コマンドは非推奨であり、Databricks Runtime 7.3 LTS ML でのみサポートされます。 Databricks では、ノートブック スコープのライブラリの管理に %pip
を使用することをお勧めします。 conda を使用してのみインストールできる Python ライブラリが必要な場合は、 conda ベースの Docker コンテナを使用して、必要なライブラリをプレインストールできます。
Anaconda Inc.は、2020年9月にanaconda.orgチャネルの 利用規約 を更新しました。新しい利用規約に基づいて、Anacondaのパッケージと配布に依存している場合は、商用ライセンスが必要になる場合があります。 詳細については、 Anaconda Commercial Edition FAQ を参照してください。 Anacondaチャネルの使用には、そのサービス利用規約が適用されます。
この変更の結果、DatabricksはCondaパッケージマネージャーのデフォルトのチャネル設定を削除しました。これは互換性に影響する変更です。
%conda
コマンドを使用してパッケージをインストールまたは更新するには、 -c
を使用してチャンネルを指定する必要があります。また、 %conda install
と %sh conda install
のすべての使用法を更新して、 -c
を使用してチャンネルを指定する必要があります。 チャンネルを指定しない場合、conda コマンドは PackagesNotFoundError
で失敗します。
%conda
コマンドは conda コマンドと同等で、同じ API をサポートしますが、以下に示すいくつかの制限があります。次のセクションでは、 %conda
コマンドを使用して環境を管理する方法の例を示します。 conda
を使用した Python パッケージのインストールの詳細については、 conda のインストールに関するドキュメントを参照してください。
%conda
マジックコマンドは Databricks Runtime では使用できません。これらは、Databricks Runtime 7.3 LTS ML でのみ使用できます。 Databricks では、 pip
を使用してライブラリをインストールすることをお勧めします。 詳細については、「 conda と pip について」を参照してください。
ノートブックで %pip
コマンドと %conda
コマンドの両方を使用する必要がある場合は、「pip
コマンドと conda
コマンドの相互作用」を参照してください。
次の conda
コマンドは、 %conda
と一緒に使用するとサポートされません。
activate
create
init
run
env create
env remove
ライブラリのインストール %conda
%conda install matplotlib -c conda-forge
ライブラリのアンインストール %conda
%conda uninstall matplotlib
環境を保存して再利用または共有する
ノートブックをクラスターからデタッチすると、環境は保存されません。 環境を保存して、後で再利用したり、他のユーザーと共有したりするには、次の手順に従います。
Databricks では、環境は、同じバージョンの Databricks Runtime MLを実行しているクラスター間でのみ共有することをお勧めします。
-
環境をconda YAML仕様として保存します。
Python%conda env export -f /dbfs/myenv.yml
-
conda env update
を使用してファイルを別のノートブックにインポートします。Python%conda env update -f /dbfs/myenv.yml
ノートブックの Python 環境を一覧表示する
ノートブックに関連付けられた Python 環境を表示するには、次の %conda list
を使用します。
%conda list
pip
コマンドと conda
コマンド間の相互作用
競合を避けるために、 pip
または conda
を使用して Python パッケージとライブラリをインストールするときは、次のガイドラインに従ってください。
- ライブラリ APIまたはクラスター UI を使用してインストールされたライブラリは、
pip
を使用してインストールされます。ライブラリが API または クラスター UI からインストールされている場合、ノートブック スコープのライブラリをインストールするときには%pip
コマンドのみを使用する必要があります。 - クラスターでノートブックスコープのライブラリを使用する場合、そのクラスターでのinitスクリプト実行は、
conda
またはpip
コマンドを使用してライブラリをインストールできます。 ただし、initスクリプトにpip
コマンドが含まれている場合は、ノートブックの%pip
コマンドのみを使用してください(%conda
コマンドではありません)。 pip
コマンドのみを使用するか、conda
コマンドのみを使用するのが最善です。一部のパッケージをconda
を使用してインストールし、一部のパッケージをpip
を使用してインストールする必要がある場合は、最初にconda
コマンドを実行してから、pip
コマンドを実行します。 詳細については、「Conda環境での pip の使用」を参照してください。
よくある質問(FAQ)
クラスター UI/API からインストールされたライブラリは、ノートブックスコープのライブラリとどのように相互作用しますか?
クラスターUIまたは API からインストールされたライブラリは、クラスター上のすべてのノートブックで使用できます。 これらのライブラリは、 pip
;したがって、クラスター UI を使用してライブラリをインストールする場合は、ノートブック %pip
コマンドのみを使用してください。
initスクリプトを使用してインストールされたライブラリは、ノートブックスコープのライブラリとどのように相互作用しますか?
initスクリプトを使用してインストールされたライブラリは、クラスター上のすべてのノートブックで使用できます。
クラスターを実行している Databricks Runtime MLでノートブックスコープのライブラリを使用する場合、クラスタでのinitスクリプト実行は、conda
またはpip
コマンドを使用してライブラリをインストールできます。 ただし、initスクリプトに pip
コマンドが含まれている場合は、ノートブック %pip
コマンドのみを使用してください。
たとえば、次のノートブック コード スニペットは、高速にインストールされるスクリプトを生成します。すべてのクラスター ノード上の AI パッケージ。
dbutils.fs.put("dbfs:/home/myScripts/fast.ai", "conda install -c pytorch -c fastai fastai -y", True)
ジョブ ノートブックで %pip
コマンドと %conda
コマンドを使用できますか?
はい。
%pip
コマンドと %conda
コマンドは R または Scala ノートブックで使用できますか?
はい、 Pythonのマジックセルで。
%sh pip
、!pip
、pip
は使えますか?違いは何ですか?
%sh
ノートブックでシェルコマンドを実行する !
。前者はDatabricks の補助魔法コマンド であり、後者はIPythonの機能です。 pip
は、%pip
が有効になっている場合の省略形であり、 これは automagic の default Databricks Python ノートブックです。
Databricks Runtime 11.0以降では、%pip
、 %sh pip
、および!pip
はどれも、ライブラリをノートブックスコープのPythonライブラリとしてインストールします。Databricks Runtime 10.4 LTS以前のバージョンでは、%pip
またはpip
のみを使用して、ノートブックスコープのライブラリをインストールすることをお勧めしています。Databricks Runtime 10.4 LTS以前の場合、%sh pip
と!pip
の動作に一貫性はありません。
%conda
コマンドを使用してRパッケージを更新できますか?
いいえ。
既知の問題
%conda env update
を使用してノートブック環境を更新する場合、パッケージのインストール順序は保証されません。これにより、horovod
パッケージに問題が生じる可能性があり、horovod.tensorflow
またはhorovod.torch
を使用するには、tensorflow
とtorch
をhorovod
の前にインストールする必要があります。これが発生した場合は、horovod
パッケージをアンインストールし、依存関係がインストールされていることを確認してから再インストールします。- Databricks Runtime 9.1 LTS では、ノートブック スコープのライブラリはバッチ ストリーミング ジョブと互換性がありません。 Databricks は、 代わりにクラスター ライブラリ または IPython カーネル を使用することをお勧めします。