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/"
UV¶UV¶
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の使用が推奨されます。