環境テンプレートのカスタマイズの例
Python および R 用に提供されているテンプレートを使用して、環境テンプレートの作成時に conda または pip を介してカスタム・ライブラリーを追加する方法を示す例に従ってください。
- 以下の例では、
condaの代わりにmambaを使用できます。mambaから既存の環境テンプレートにチャンネルやパッケージを追加する場合は、mambaからインストールするチェックボックスを選択することを忘れないでください。 - カスタムの watsonx.ai Runtime デプロイメントランタイムを作成するプロセスは異なる場合があります。 カスタムの watsonx.ai Runtime デプロイメントランタイムを作成する場合は、 watsonx.ai デプロイメントランタイムのカスタマイズ を参照してください。
以下に例を示します:
ヒントは以下のとおりです:
conda パッケージの追加
pandas-profiling の最新バージョンを取得するには、以下のようにします。
dependencies:
- pandas-profiling
これは、ノートブックで conda install pandas-profiling を実行するのと同等です。
pip パッケージの追加
conda チャネルで特定のパッケージを使用できない場合は、 pip を使用して環境をカスタマイズすることもできます。
dependencies:
- pip:
- ibm_watsonx_ai
これは、ノートブックで pip install ibm_watsonx_ai を実行するのと同等です。
カスタマイズは、実際には、指定された pip パッケージをインストールするだけではありません。 conda のデフォルトの動作では、 pip 自体の新規バージョンも検索してインストールします。 conda ですべての暗黙的依存関係を検査するには、多くの場合は数分かかり、また数ギガバイトのメモリーも必要となります。 以下のカスタマイズにより、 pipのインストールがショートカットされます:
channels:
- empty
- nodefaults
dependencies:
- pip:
- ibm_watsonx_ai
conda チャネル empty には、パッケージは用意されていません。 特に pip パッケージはありません。 conda は pip のインストールを試行せず、代わりに既にプリインストールされているバージョンを使用します。 チャネルのリスト内のキーワード nodefaults には、リスト内に少なくとも 1 つの他のチャネルが必要であることに注意してください。 そうでない場合、 conda はそのキーワードをサイレントに無視し、デフォルトのチャネルを使用します。
conda と pip パッケージの組み合わせ
複数のパッケージをリストするには、パッケージを 1 行に 1 つずつリストします。 1 つのカスタマイズに、 conda パッケージと pip パッケージの両方を含めることができます。
dependencies:
- pandas-profiling
- scikit-learn=0.20
- pip:
- ibm_watsonx_ai
- sklearn-pandas==1.8.0
必要なテンプレート表記では、先行スペースが認識されることに注意してください。 conda パッケージのリスト内の各項目には、2 つの先行スペースが必要です。 pip パッケージのリスト内の各項目には、4 つの先行スペースが必要です。 conda パッケージのバージョンは、単一の等号 (=) を使用して指定する必要があります。一方、 pip パッケージのバージョンは、2 つの等号 (==) を使用して追加する必要があります。
内部依存関係を持つ複合パッケージの追加
多数のパッケージ、または多数の内部依存関係を持つ複雑なパッケージを追加すると、 conda のインストールに時間がかかる場合があり、エラー・メッセージを返さずに停止する場合もあります。 これを回避するには、以下のようにします。
- 追加したいパッケージのバージョンを指定します。 これにより、
condaが依存関係を解決するための検索スペースが削減されます。 - 環境のメモリー・サイズを増加します。
.condarcファイルに定義されているデフォルトのcondaチャネルの代わりに、特定のチャネルを使用します。 これにより、大規模なチャネルでの長い検索の実行が回避されます。
デフォルトの conda チャネルを使用しないカスタマイズの例:
# get latest version of the prophet package from the conda-forge channel
channels:
- conda-forge
- nodefaults
dependencies:
- prophet
環境変数の設定
以下の例に示すように、ソフトウェア・カスタマイズ・テンプレートに variables セクションを追加することで、ご使用の環境で環境変数を設定できます。
variables:
my_var: my_value
HTTP_PROXY: https://myproxy:3128
HTTPS_PROXY: https://myproxy:3128
NO_PROXY: cluster.local
この例では、 variables セクションを使用して環境のプロキシー・サーバーを設定できることも示しています。
制限: この方法を使用して、既存の環境変数 ( LD_LIBRARY_PATHなど) をオーバーライドすることはできません。
ベスト・プラクティス
パッケージの欠落や依存関係の競合の問題を回避するには、まず、ノートブックを使用して必要なパッケージをテスト環境に手動でインストールします。 これにより、エラーなしでパッケージをインストールできるかどうかを対話式に確認できます。 パッケージが正しくインストールされていることを確認した後、開発環境または実稼働環境用のカスタマイズを作成し、そのパッケージをカスタマイズ・テンプレートに追加します。