Open1

uvについて調べた事

mskmsk

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 runuv run pytestのようなCLIコマンドも仮想環境を使って実行できます [3]。
  • uv pip list

    • 仮想環境にインストールされているパッケージの一覧を表示するコマンドです [3-5]。
    • これはuv pipサブコマンドの一つです [5]。
  • uv remove <パッケージ名>

    • 指定したパッケージを仮想環境からアンインストールするコマンドです [4]。
    • 例えば、uv remove requestsのように実行します [4]。
    • このコマンドを実行すると、pyproject.tomluv.lockファイルからパッケージ情報が自動的に削除されます [4]。
  • uv update --upgrade

    • pyproject.tomlファイルに書かれているパッケージのバージョンの範囲に従って、パッケージを最新バージョンにアップデートするコマンドです [4]。
    • このコマンドはuv.lockファイルも更新します [4]。
  • uv sync

    • uv.lockファイルの内容に基づいて、仮想環境を構築または再現するコマンドです [6]。
    • このコマンドを使うことで、他の人とプロジェクトを共有する際に、全く同じ環境を高速に再現することができます [6]。共同開発時には、pyproject.tomluv.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.tomluv.lockファイルは更新されないため、注意が必要です [5]。
    • uv pip install -e .(自作パッケージのインストール)やuv pip install -r requirements.txtrequirements.txtに書かれたパッケージの一括インストール)など、従来のpipコマンドの前にuvを付ける形で使用できます [5]。