pip 設定のカスタマイズ

pip設定をカスタマイズするには、グローバルな「pip.conf設定ファイルを編集する。 プロキシサーバーの情報を追加したり、(エアゲープ構成では)共有ストレージボリュームにカスタムPythonディストリビューションパッケージを追加して、ユーザーがランタイムに直接インストールできるようにする。

開始する前に、「CPD_URL」と「TOKEN環境変数を設定し、「cc-homeストレージ・ボリュームが存在することを確認する。 手順については、API認証トークンの生成および common core servicesサービスのカスタマイズを保存するストレージボリュームの設定を参照してください。

pip使用するコンフィギュレーションを「/cc-home/_global_/config/conda/pip.confグローバル・ファイルに設定する。 これらの設定は、すべての「Watson Studioランタイムとすべてのユーザーに適用される。 /cc-home/_global_/config/conda/pip.confファイルは読み取り専用である。 このドキュメントでは、REST APIコマンドを使用してファイルを変更する方法を説明します。

修正後、'python3 -m pip config debugを実行して、'pip.confの修正が正しく適用されているかチェックする。

ランタイムが開始されると、「pip.conf更新が有効になる。 変更をグローバルな「pip.confファイルに適用したい場合は、既存のランタイムを再起動する必要がある。

pipがプロキシサーバーまたは内部パッケージインデックスを使用するように設定する

pip」がプロキシサーバーまたは内部パッケージインデックスを使用するように設定する:
  1. このコードを実行することで、既存の'pip.confファイルを取得する:
    curl -vk ${CPD_URL}/zen-volumes/cc-home/v1/volumes/files/%2F_global_%2Fconfig%2Fconda%2Fpip.conf -H "Authorization: ZenApiKey ${TOKEN}" -o pip.conf
  2. プロキシサーバーを設定するには、「pip.conf次のように設定する:
    [global]
    proxy=https://<user>:<password>@<proxy name>:<port>
    常に内部リポジトリサーバーを使用するには、'pip.conf次のように設定します:
    [global]
    index-url=https://www.example.com/root/pypi/+simple/
    trusted-host=https://www.example.com
  3. 次のコードを実行して、'pip.confファイルを共有ファイルシステムにコピーする:
    curl -k -X PUT \
    "${CPD_URL}/zen-volumes/cc-home/v1/volumes/files/%2F_global_%2Fconfig%2Fconda" \
    -H "Authorization: ZenApiKey ${TOKEN}" \
    -H "content-type: multipart/form-data" \
    -F upFile=@pip.conf

カスタムPythonディストリビューションパッケージを'cc-homeストレージボリュームに追加する

カスタムPythonディストリビューションパッケージを'cc-homeストレージボリュームに追加して、ユーザーが直接ランタイムにインストールできるようにすることができます。

カスタムPythonディストリビューションパッケージを'cc-homeストレージボリュームに追加する:
  1. setup.pyビルドスクリプトでPythonプロジェクトを作成する。
  2. 配布パッケージを生成します。
  3. このコードを実行すると、zip圧縮されたアーカイブファイルが'/cc-home/_global_/config/condaにアップロードされる:
    curl -k -X PUT \
    "${CPD_URL}/zen-volumes/cc-home/v1/volumes/files/%2F_global_%2Fconfig%2Fconda" \
    -H "Authorization: ZenApiKey ${TOKEN}" \
    -H "content-type: multipart/form-data" \
    -F upFile=@<package_name>