注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Code Repositoriesでは、公開されているライブラリとFoundryで生成されたライブラリをインポートして使用することができます。以下の情報は、Pythonライブラリにのみ適用されます。
Pythonライブラリを検索するには、Code Repository環境の左パネルにあるパッケージタブをクリックします。検索ボックスを使用して、利用可能なライブラリを検索します。
ライブラリ名をクリックすると、ライブラリの詳細とライブラリの追加オプションが表示されます。これにより、ライブラリの推奨バージョンがブランチに追加されます。
ライブラリを追加すると、Code Assistの依存関係が更新され、ライブラリで利用可能なパッケージからモジュールをインポートできるようになります。
Pythonライブラリを追加する際に、必要な作成物リポジトリをコードリポジトリに追加し、プロジェクトで参照する必要がある場合があります。この場合、このアクションを確認するダイアログが表示されます。
依存関係ダイアログでは、アクセス権がない必要なリポジトリが強調表示されます。ライブラリを使用するには、これらのリポジトリにアクセスする必要があります。
Code Repositoriesは、ライブラリに利用可能なバッキングリポジトリを見つけ、自動的にそれらを使用しようとします。特定のバッキングリポジトリが必要な場合は、リポジトリの作成物設定ページで直接設定できます。
特定のバージョンが必要な場合は、設定ボタンをクリックしてリストから必要なバージョンを選択し、ピン留め することができます。これにより、トランスフォームとテストの実行に異なるバージョンを設定できます。
特定のバージョンのライブラリをピン留めした後、meta.yaml
ファイルに追加されますが、Task Runnerを使用してインストールされることはありません。チェックが正常に通過することを確認し、次にCode Assistを再起動して、meta.yaml
ファイルに対する変更を適用します。その後、リポジトリで選択したライブラリのバージョンを使用することができます。
特定のバージョンをピン留めする際には注意してください。ピン留めされたバージョンがあると、コードが重要な更新を受け取らなくなることがあります。常に依存関係を確認して更新してください。
リポジトリからPythonライブラリを追加・削除する操作は、他のコード変更と同様に振る舞います。変更をコミットし、保護されたブランチにマージする必要があります。プルリクエストでは、ライブラリの変更がmeta.yaml
ファイルの変更として表示されます。
たまに、プルリクエストを作成すると、.lock
というタイプのファイルにマージコンフリクトが表示されることがあります。これは、ブランチで作業している間に更新が行われることが原因です。この場合、両方の変更を受け入れてプルリクエストを進めてください。
これは廃止された機能であり、環境によっては利用できない場合があります。
ライブラリが共有チャンネルに公開されている場合(Pythonライブラリの公開を参照)、Pythonサブプロジェクトのbuild.gradle
を編集する必要があります。_隠し_ファイルを変更するため、"隠しファイルを表示"を選択してから進んでください。Transforms Pythonプロジェクトは、共有ライブラリが公開されているチャンネルにアクセスする必要があります。Transforms Pythonサブプロジェクトフォルダーにあるbuild.gradle
ファイルに、次の内容を追加します。
Copied!1 2 3
transformsPython { sharedChannels "libs" }
リポジトリのルートにあるファイルではなく、Pythonサブプロジェクトフォルダーにあるbuild.gradle
ファイルを編集してください。ファイルの最後に追加して、apply plugin:
が正しく実行される前に処理されるようにしてください。
通常、Pythonライブラリを操作する際にリポジトリの設定にアクセスする必要はありません。必要な作成物リポジトリは、Pythonパッケージを追加する際に自動的に追加されます。設定タブで参照されるPythonリポジトリのリストを直接編集することは避けてください。
共有ライブラリを使用する場合、プロジェクトに関連するリポジトリへの参照が追加されます。リポジトリ設定タブの"作成物"セクションで、参照されているリポジトリのリストを表示できます。
作成物パッケージ検索を介さずに共有ライブラリの依存関係を手動で追加した場合は、作成物設定を介して、消費リポジトリのバッキングリポジトリにライブラリリポジトリを追加する必要があります。ただし、これは推奨されません。パッケージ検索はこの操作を自動的に行います。
Task Runnerは新しいリポジトリでのみ利用可能です。リポジトリのバージョンを確認するには、隠しファイルを表示し、templateConfig.json
ファイルを確認してください。
parentTemplateId
がtransforms
である場合、parentTemplateVersion
が8.220.0以上で、Python子テンプレートが1.484.0以上であることを確認してください。parentTemplateId
がpython-library
である場合、parentTemplateVersion
が1.497.0
以上であることを確認してください。この機能を有効にするには、リポジトリをアップグレードすることができます。
Task Runnerが有効になると、左パネルのライブラリタブからパッケージを追加すると、新しいCode Assistワークスペースがプロビジョニングされる代わりに、現在の環境上にリクエストされたパッケージがインストールされ始め、基礎となるプロセスからすべてのログが送信されます。
インストールが成功した場合、ロックファイルが新しい環境で更新されます。インストールが失敗した場合、Task Runnerの下部パネルにエラーメッセージが表示され、問題の原因をさらに調べることができます。
Task Runnerはrun
環境のみを更新し、現在テスト専用の依存関係のインストールはサポートしていません。
以下の情報は、管理者および上級ユーザー向けです。
meta.yaml
ファイルmeta.yaml
ファイルを編集することは避けてください。これはエラーが発生しやすいためです。代わりに、ライブラリ検索インターフェースを使用してライブラリを追加することを優先してください。
Pythonライブラリをコードリポジトリで使用するには、conda_recipe/meta.yaml
ファイルに含める必要があります。これは、リポジトリライブラリ検索インターフェースを通じてライブラリを追加する際に自動的に行われます。
Copied!1 2 3 4 5 6
requirements: ... run: - python ... - {図書館の名前} # この部分を共有ライブラリの名前に置き換えてください。
ライブラリを追加した後、meta.yaml ファイルの上部にある "Refresh dependencies" をクリックしてください。これにより、Code Assistが新しい依存関係を更新し、利用可能なパッケージからモジュールをインポートすることが可能になります。
meta.yaml ファイル についての詳細な情報はこちらをご覧ください。
Condaはオープンソースの言語に依存しないパッケージおよび環境マネージャであり、Code Repositoriesでパッケージ依存関係を解決し、パッケージのセットを独立した環境にインストールするために使用されます。詳細については、公式Condaドキュメンテーションまたは 環境作成の紹介 を参照してください。
Code Repositoriesでチェックを実行するとき、私たちは meta.yaml
ファイルに記載されたパッケージのリストのためのConda環境を解決し、.lock
拡張子を持つ非表示のCondaロックファイルを生成します。これらのロックファイルはConda環境を保存します。この事前に解決された環境により、コードをコミットするときに次回のチェックでCondaの解決が速くなります。
次のケースでConda環境を再解決し、新しいロックファイルを書き込みます:
meta.yaml
ファイルのパッケージリストに変更があった場合。環境を再解決し、新しいロックファイルを書き込むとき、最初のコミットハッシュは SUPERSEDED
に続いて別のコミットハッシュがあり、これがロックファイルを書き換えます。環境を再解決する必要があるときは、チェックの実行に時間がかかることがあります。
Palantir Foundry内で公開されたライブラリをFoundry外部からダウンロードすることが可能です:
トークンを他のアプリケーションやユーザーと共有しないでください。悪意のあるアクターがそれを使用してあなたを偽装する可能性があります。
<identifier>
を見つけます。興味のあるPythonライブラリのCode Repositoryに移動します。ブラウザのURLは次のような形になるはずです: https://<my-foundry-url>/workspace/data-integration/code/repos/<identifier>/contents/refs%2Fheads%2F<branch>
. URLで <identifier>
を探し、それは ri.stemma.main.repository.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
のように見えます。curl -H "Authorization: Bearer $TOKEN" https://$STACK_URL/artifacts/api/repositories/$IDENTIFIER/contents/release/conda/$PLATFORM/repodata.json
ここで $TOKEN
はユーザートークン、 $STACK_URL
は前のステップの <stack-url>
と同じ、 $IDENTIFIER
は前のステップの <identifier>
、 $PLATFORM
はリポジトリプラットフォーム(例:noarch
、 linux-64
)です。上記のコマンドの出力は、ライブラリの内容(つまり、それが持っているパッケージ)のインデックスです。各パッケージは <name>-<version>-<build-string>.tar.bz2
の形をしています。curl -H "Authorization: Bearer $TOKEN" https://$STACK_URL/artifacts/api/repositories/$IDENTIFIER/contents/release/conda/$PLATFORM/$PACKAGE
ここで $PLATFORM
はパッケージプラットフォーム(例:noarch
、 linux-64
)で、 $PACKAGE
は <name>-<version>-<build-string>.tar.bz2
の形です。Task Runnerから手動でパッケージのインストールをトリガーし、コマンドを手動で指定することができます。
例えば、pandas
をインストールするには、下部パネルの Task Runner タブを選択し、次のコマンドを入力します:
# パッケージ仕様を使用してpandasをインストールします
install --packageSpecs=pandas
Task Runner は以下のコマンドもサポートしています:
uninstall
:実行環境からパッケージをアンインストールします。
parentTemplateId
が transforms
の場合、Python の子テンプレートが 1.525.0
以上になっていることを確認してください。同様に、ユーザーのリポジトリの parentTemplateId
が python-library
の場合、 parentTemplateVersion
が 1.525.0
以上になっていることを確認してください。uninstall --packageSpecs=<eg.numpy>
とします。formatCode
:リポジトリ内のファイルをフォーマットします。Black を使用してコードをフォーマットし、カスタムフォーマッターの設定には pyproject.toml
を使用します。詳細は Black フォーマッター設定ファイルのドキュメンテーション を参照してください。whoneeds
:現在の実行環境でパッケージのインストールを必要とするパッケージのツリーを表示します。
parentTemplateId
が transforms
の場合、Python の子テンプレートが 1.522.0
以上になっていることを確認してください。同様に、ユーザーのリポジトリの parentTemplateId
が python-library
の場合、 parentTemplateVersion
が 1.522.0
以上になっていることを確認してください。whoneeds --packageSpec=<eg.transforms>
tasks
:実行可能なすべてのタスクをリストします。