Open1
uvについて調べた事

uv
コマンドの一覧とその解説
-
uv --version
- このコマンドは、現在インストールされている
uv
のバージョンを確認するために使用されます [1]。
- このコマンドは、現在インストールされている
-
uv init [プロジェクト名]
-
uv
プロジェクトを初期化するためのコマンドです [1]。 -
uv init saproject
のようにプロジェクト名を指定して実行すると、その名前のフォルダーが作成され、その中にプロジェクトが初期化されます [1]。 - もし既に存在するプロジェクトフォルダー内で
uv init
とプロジェクト名を指定せずに実行すると、現在のフォルダーがプロジェクトとして初期化されます [1]。 - このコマンドを実行すると、自動的に
.gitignore
ファイル、.python-version
ファイル、main.py
というサンプルプログラム、pyproject.toml
ファイル、README.md
ファイルが作成されます [2]。 - また、自動的にGitが実行され、プロジェクトがGit管理されるようになります [2]。
.gitignore
ファイルには、Pythonが生成するキャッシュファイルや仮想環境用のフォルダーがGit管理から除外されるように記載されます [2]。
-
-
uv venv
- 仮想環境を作成するコマンドです [2]。
- このコマンドを実行すると、
.venv
というフォルダーが自動的に作成され、その中にパッケージファイルがインストールされます [2]。 - 仮想環境でPythonのパッケージを管理したり、コードを実行したりするには、この
.venv
フォルダーが含まれるプロジェクトフォルダー内でuv
コマンドを実行する必要があります [2]。 - 仮想環境のPythonバージョンは、
.python-version
ファイルが存在する場合、そのファイルに記載されているバージョンが採用されます [2]。
-
uv python pin <バージョン>
-
.python-version
ファイルに記述されるPythonのバージョンを固定または更新するコマンドです [2]。 - 例えば、
uv python pin 3.12
のように実行します [2, 3]。 - このコマンドで固定したPythonバージョンが存在しない場合でも、
uv
の仮想環境を使う際に自動でそのバージョンのPythonがインストールされます [3]。 -
pyproject.toml
に記載されているPythonのバージョンの範囲と、実際に使われるPythonのバージョンの整合性が合っている必要があります [2]。
-
-
uv add <パッケージ名>
- 指定したパッケージを仮想環境にインストールするコマンドです [3]。
- 例えば、
uv add requests
のように実行します [3]。 - このコマンドを実行すると、インストールしたパッケージやその依存パッケージの情報が自動的に
uv.lock
ファイルに記録され、pyproject.toml
ファイルも更新されます [3]。 - パッケージ名は、
pip
で指定するパッケージ名と同じです [3]。 - バージョン指定の仕方としては、
uv add "requests==2.10.0"
のようにパッケージ名の後ろに==
を付けてバージョンを記述する方法や、>=
(特定のバージョン以上)や*
(ワイルドカード)を使った範囲指定も可能です [4]。
-
uv run <コマンド>
- 仮想環境を使用してコマンドを実行するコマンドです [3]。
- 例えば、
uv run python main.py
のようにPythonスクリプトを実行したり、uv run flask run
やuv run pytest
のようなCLIコマンドも仮想環境を使って実行できます [3]。
-
uv pip list
- 仮想環境にインストールされているパッケージの一覧を表示するコマンドです [3-5]。
- これは
uv pip
サブコマンドの一つです [5]。
-
uv remove <パッケージ名>
- 指定したパッケージを仮想環境からアンインストールするコマンドです [4]。
- 例えば、
uv remove requests
のように実行します [4]。 - このコマンドを実行すると、
pyproject.toml
とuv.lock
ファイルからパッケージ情報が自動的に削除されます [4]。
-
uv update --upgrade
-
pyproject.toml
ファイルに書かれているパッケージのバージョンの範囲に従って、パッケージを最新バージョンにアップデートするコマンドです [4]。 - このコマンドは
uv.lock
ファイルも更新します [4]。
-
-
uv sync
-
uv.lock
ファイルの内容に基づいて、仮想環境を構築または再現するコマンドです [6]。 - このコマンドを使うことで、他の人とプロジェクトを共有する際に、全く同じ環境を高速に再現することができます [6]。共同開発時には、
pyproject.toml
、uv.lock
、.python-version
の3つのファイルを共有します [6]。
-
-
uv sync --dev
- このオプションは、開発用パッケージ(
pyproject.toml
の[tool.uv.dev-dependencies]
セクションにグループ化されているパッケージ)を含めずに環境を構築する際に使用します [6]。これにより、本番環境では不要な開発ツールを除外できます [6]。
- このオプションは、開発用パッケージ(
-
uv add --dev <パッケージ名>
- パッケージを開発用としてインストールし、
pyproject.toml
の[tool.uv.dev-dependencies]
セクションにグループ化するコマンドです [6]。 - 例えば、
uv add --dev black
のように実行します [6]。
- パッケージを開発用としてインストールし、
-
uv x <コマンド>
- コマンドラインを提供するPythonパッケージを、プロジェクトの仮想環境とは別に、一時的に利用する際に使用します [5, 6]。
- このコマンドは必要なパッケージを自動でキャッシュフォルダーにインストールし、仮想環境を汚さずにコマンドを実行できます [5]。例えば、
uv x pytest
のように使います [5]。
-
uv cache dir
-
uv x
コマンドでインストールされたパッケージが保存されるキャッシュフォルダーの場所を確認するコマンドです [5]。
-
-
uv cache clean
-
uv
のキャッシュフォルダーを削除し、クリーンアップするコマンドです [5]。
-
-
uv pip install <パッケージ名>
-
pip install
コマンドと同様にパッケージをインストールしますが、uv
の高速な処理を利用できます [5]。 - ただし、このコマンドでインストールされたパッケージは
.venv
フォルダーには入りますが、pyproject.toml
やuv.lock
ファイルは更新されないため、注意が必要です [5]。 -
uv pip install -e .
(自作パッケージのインストール)やuv pip install -r requirements.txt
(requirements.txt
に書かれたパッケージの一括インストール)など、従来のpip
コマンドの前にuv
を付ける形で使用できます [5]。
-