How to configure dependency resolution¶
ほとんどのHatch環境タイプは、デフォルトのvirtualと同様に、pipを使用して依存関係をインストールします。したがって、pip
の動作に影響を与える標準のenvironment variablesを使用できます。
ここでは、最終的にPyPIに戻る前に、default環境を設定して、(認証にcontext formattingを使用して)2つのプライベートインデックスを確認する例を示します。:
[tool.hatch.envs.default.env-vars]
PIP_INDEX_URL = "https://token:{env:GITLAB_API_TOKEN}@gitlab.com/api/v4/groups/<group1_path>/-/packages/pypi/simple/"
PIP_EXTRA_INDEX_URL = "https://token:{env:GITLAB_API_TOKEN}@gitlab.com/api/v4/groups/<group2_path>/-/packages/pypi/simple/ https://pypi.org/simple/"
[envs.default.env-vars]
PIP_INDEX_URL = "https://token:{env:GITLAB_API_TOKEN}@gitlab.com/api/v4/groups/<group1_path>/-/packages/pypi/simple/"
PIP_EXTRA_INDEX_URL = "https://token:{env:GITLAB_API_TOKEN}@gitlab.com/api/v4/groups/<group2_path>/-/packages/pypi/simple/ https://pypi.org/simple/"
UV¶
using UVしている場合は、別のenvironment variablesのセットを使用して動作を設定できます。前の例は次のようになります。:
[tool.hatch.envs.default.env-vars]
UV_EXTRA_INDEX_URL = "https://token:{env:GITLAB_API_TOKEN}@gitlab.com/api/v4/groups/<group1_path>/-/packages/pypi/simple/"
UV_INDEX_URL = "https://token:{env:GITLAB_API_TOKEN}@gitlab.com/api/v4/groups/<group2_path>/-/packages/pypi/simple/ https://pypi.org/simple/"
[envs.default.env-vars]
UV_EXTRA_INDEX_URL = "https://token:{env:GITLAB_API_TOKEN}@gitlab.com/api/v4/groups/<group1_path>/-/packages/pypi/simple/"
UV_INDEX_URL = "https://token:{env:GITLAB_API_TOKEN}@gitlab.com/api/v4/groups/<group2_path>/-/packages/pypi/simple/ https://pypi.org/simple/"
Tip
If you need precise control over the prioritization of package indices, then using UV is recommended because pip
has no index order guarantee.
パッケージインデックスの優先順位を正確に制御する必要がある場合は、pip
には[index order guarantee]がないため、UVを使用することをお勧めします(pip#8606)。