Skip to content

How to configure dependency resolution依存関係解決の設定方法


Most Hatch environment types, like the default virtual, simply use pip to install dependencies. Therefore, you can use the standard environment variables that influence pip's behavior.デフォルトのvirtualのようなほとんどのHatch環境タイプは、単にpipを使用して依存関係をインストールします。したがって、pipの動作に影響を与える標準の環境変数を使用できます。

Here's an example of setting up the default environment to look at 2 private indices (using context formatting for authentication) before finally falling back to PyPI:ここでは、最終的にPyPIにフォールバックする前に、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/"

UVUV

If you're using UV, a different set of environment variables are available to configure its behavior. The previous example would look like this instead:もしUVを使用している場合、異なる環境変数がその動作を設定するために利用可能です。前の例はこのようになります:

[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にはインデックス順序保証がないため、UVの使用が推奨されます。