【Python】uvの使い方を忘れたときに見るための早見表
以下は「uvの使い方をサクッと思い出すため」の早見表です。
コマンド例も載せてあるので、コピペして使ってみてください。
目次
インストール関連
インストール
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# pip でインストール
pip install uv
# pipx でインストール
pipx install uv
アップデート
uv self update
最新の詳細なインストール方法・オプションは公式サイト
docs.astral.sh/uv を参照してください。
プロジェクト管理
プロジェクトの新規作成
# 新規作成(フォルダが作成される)
uv init <プロジェクト名>
# 今いるディレクトリをプロジェクト化する場合
uv init .
依存パッケージの追加・削除
uv add <パッケージ名> ...
# 例 ).venv(仮想環境) が自動で作られ、指定パッケージがインストールされます。
uv add requests
# 編集可能な依存関係を追加
uv add --editable ./path/to/my-package
# 開発用依存関係を追加
uv add --optional pandas pandas[excel]
# 依存関係を削除
uv remove <パッケージ名>
仮想環境の有効化
# macOS/Linux
source .venv/bin/activate
# Windows(PowerShell/CMD)
.\.venv\Scripts\activate
仮想環境でのコマンド実行
uv run <コマンド> [引数...]
# 仮想環境内で ruff check が実行されます。
uv run ruff check
ツール管理
一時的にツールを実行 (uvx)
uvx <ツールのコマンド> ...
# その場でダウンロード→実行、終わったら後片付け。
uvx pycowsay "Hello, uv!"
ツールをインストールして使う
uv tool install <ツール名>
# インストール後は、普通に ruff --version などでコマンドを呼び出せます。
uv tool install ruff
Pythonバージョン管理
Pythonのインストール
uv python install <バージョン> ...
# 複数バージョンをまとめて一気にインストール
uv python install 3.10 3.11
仮想環境の作成
uv venv [--python <バージョン>]
# 指定したバージョンで仮想環境 .venv を作成
uv venv --python 3.12.0
別のバージョンでコマンド実行
uv run --python <バージョン> -- python --version
# PyPyなども対応可
uv run --python pypy@3.8 -- python --version
ディレクトリ単位でバージョン固定
uv python pin <バージョン>
# .python-version が作られ、同ディレクトリ以下で自動適用されます。
uv python pin 3.11
スクリプト管理
スクリプトの依存を追加
uv add --script <スクリプト.py> <パッケージ名> ...
# example.py の先頭付近に依存情報が記載され、実行時に自動でインストールされます。
uv add --script example.py requests
スクリプトの実行
uv run <スクリプト.py>
# スクリプト単位で仮想環境が用意され、依存を入れてから実行します。
uv run example.py
pip 互換の操作
uvは、pip や pipx、virtualenv の代わりとしても使えます。
既存の pip install
などを uv pip install
に書きかえるだけで高速化できます。
例: requirements.in → requirements.txt へ
uv pip compile <.inファイル> --universal --output-file <.txtファイル>
# マルチプラットフォームで再現性が高い (universal) 依存ファイルを出力
uv pip compile docs/requirements.in --universal --output-file docs/requirements.txt
例: requirements.txt のインストール
uv pip sync <requirements.txt>
# lockされた依存をまとめてインストール
uv pip sync docs/requirements.txt
仮想環境を作る (pipのvirtualenv相当)
# .venv を作成
uv venv
# .venv を作成
uv venv
# 有効化(Linux/Mac)
source .venv/bin/activate
# 有効化(Windows)
.\.venv\Scripts\activate
実践例: Django プロジェクトを立ち上げる場合
- カレントディレクトリをプロジェクト化
uv init .
- ここで
.venv
はまだ作成されませんが、uvが管理するための準備が行われます。
- ここで
- Django を追加 (インストール)
uv add django
.venv
が自動生成され、Django がインストールされます。
- Django プロジェクトを作成
uv run django-admin startproject mysite
- カレントディレクトリに
mysite
フォルダができます。ここに Django の基本構成が作られます。
- カレントディレクトリに
- 開発サーバーを起動
cd mysite uv run python manage.py runserver
- ローカル開発サーバー (http://127.0.0.1:8000/) が起動します。
Django以外にも、FlaskやFastAPIなど、好きなフレームワークを追加して同様の流れで進められます。
まとめ
- uv はプロジェクト管理・ツール管理・Pythonバージョン管理・スクリプト管理などを一元的に行える便利ツールです。
- 従来の pip や pipx などに似た使い方ができるので、乗り換えやすいのが特徴。
- 特定のフレームワークを追加したり、要件定義ファイル(requirements.in / requirements.txt)を管理したり、さまざまな利用シーンで役立ちます。
- 詳細や応用的な使い方は公式ドキュメント docs.astral.sh/uv も参照してください。
コメント