Configuration files#
uvは、プロジェクトレベルとユーザレベルの両方で永続的な設定ファイルをサポートします。
具体的には、uvは現在のディレクトリまたは最も近い親ディレクトリでpyproject.tomlまたはuv.tomlファイルを検索します。
Note
ユーザレベルで操作するtoolコマンドでは、ローカルの設定ファイルは無視されます。代わりに、uvはユーザレベルの設定(例えば~/.config/uv/uv.toml)のみを読み込みます。
ワークスペースでは、uvはワークスペースルートから検索を開始し、ワークスペースメンバーで定義された設定はすべて無視します。ワークスペースは単一のユニットとしてロックされているため、設定はすべてのメンバーで共有されます。
pyproject.tomlファイルが見つかった場合、uvは[tool.uv.pip]テーブルから設定を読み込みます。たとえば、永続的なインデックスURLを設定するには、pyproject.tomlに次のものを追加します。
(そのようなテーブルがない場合、pyproject.tomlファイルは無視され、uvはディレクトリ階層内で検索を続けます。
uv.tomlファイルが見つかった場合、uvは[pip]テーブルから読み込みます。例:
uvは、macOSとLinuxでは~/.config/uv/uv.toml(または$XDG_CONFIG_HOME/uv/uv.toml)、Windowsでは%APPDATA%\uv\uv.tomlでユーザレベルの設定を検出します。ユーザレベルの設定では、pyproject.toml形式ではなくuv.toml形式を使用する必要があります。これは、pyproject.tomlがPython_project_を定義するためのものであるためです。
プロジェクトレベルとユーザーレベルの両方の構成が見つかった場合は、プロジェクトレベルの構成が優先され、設定がマージされます。特に、文字列、数値、またはブール値が両方のテーブルに存在する場合は、プロジェクトレベルの値が使用され、ユーザーレベルの値は無視されます。配列が両方のテーブルに存在する場合は、それらの配列が連結され、マージされた配列の先頭にプロジェクトレベルの設定が表示されます。
環境変数を介して提供される設定は永続的な設定よりも優先され、コマンドラインを介して提供される設定は両方よりも優先されます。
uvは--no-configコマンドライン引数を受け入れます。これを指定すると、永続的な設定の検出が無効になります。
uvは--config-fileコマンドライン引数も受け付けます。これは設定ファイルとして使用するuv.tomlへのパスを受け付けます。指定された場合、このファイルは_any_discovered設定ファイルの代わりに使用されます(例えば、ユーザレベルの設定は無視されます)。
Settings#
See the settings reference for an enumeration of the available settings.
使用可能な設定の列挙については、settings referenceを参照してください。