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

%condaコマンドによるライブラリの管理(レガシー)

important

このドキュメントは廃止されており、更新されない可能性があります。 このコンテンツに記載されている製品、サービス、またはテクノロジはサポートされなくなりました。 ノートブック スコープの Python ライブラリを参照してください。

important

%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

Python
%conda install matplotlib -c conda-forge

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

Python
%conda uninstall matplotlib

環境を保存して再利用または共有する

ノートブックをクラスターからデタッチすると、環境は保存されません。 環境を保存して、後で再利用したり、他のユーザーと共有したりするには、次の手順に従います。

Databricks では、環境は、同じバージョンの Databricks Runtime MLを実行しているクラスター間でのみ共有することをお勧めします。

  1. 環境をconda YAML仕様として保存します。

    Python
    %conda env export -f /dbfs/myenv.yml
  2. conda env updateを使用してファイルを別のノートブックにインポートします。

    Python
    %conda env update -f /dbfs/myenv.yml

ノートブックの Python 環境を一覧表示する

ノートブックに関連付けられた Python 環境を表示するには、次の %conda listを使用します。

Python
%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 パッケージ。

Python
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!pippipは使えますか?違いは何ですか?

%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 を使用するには、tensorflowtorchhorovod の前にインストールする必要があります。これが発生した場合は、 horovod パッケージをアンインストールし、依存関係がインストールされていることを確認してから再インストールします。
  • Databricks Runtime 9.1 LTS では、ノートブック スコープのライブラリはバッチ ストリーミング ジョブと互換性がありません。 Databricks は、 代わりにクラスター ライブラリ または IPython カーネル を使用することをお勧めします。