Python で使えるパッケージ管理ツール uv の導入と基本操作をまとめます。コマンドを2つ実行するだけで仮想環境と依存が整い、検証した uv 0.12.13 では数十パッケージの解決がミリ秒で完了しました。実行例も載せています。
この記事が解決する悩み
- pipとvenvの使い分けに疲れてきた
- プロジェクトごとの依存管理をもう少し速くしたい
対象読者: Pythonで開発している人
前提知識: pipでパッケージを入れた経験があること
結論
Pythonのパッケージ管理に不満があるなら、Rust製の超高速ツール「uv」がおすすめです。インストールは3行で終わります。
# インストール(macOS/Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh
# インストール(Windows)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# プロジェクト作って依存追加するだけ
uv init my_project && cd my_project
uv add requests
この一連の操作が1秒かからないんですよね。pipでrequirements.txtを書いてvenvを作ってactivateして…という手間が丸ごと消えます。
uvって何?
Astral社(Ruffのあの会社)がRustで作り込んだ次世代Pythonパッケージマネージャーです。
従来のツールはこれ1本で片付きます。
- pip(インストール)
- venv / virtualenv(仮想環境)
- pip-tools(ロックファイル)
- poetry(プロジェクト管理)
- pipx(CLIツールの分離)
- pyenv(Pythonバージョン管理)
速度はpip比で10〜100倍。キャッシュが効いていれば、数十パッケージの解決がミリ秒で終わります。
uv.lockは1ファイルで全環境をカバーします。poetryのようにOSごとにロックが分かれないのが地味に嬉しい。
インストール
スタンドアロンバイナリなので、Pythonすら事前に要りません。コピペで動きます。
macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
実践的な使い方
プロジェクト作成 → 依存追加 → 実行
uv init my_app
cd my_app
uv add httpx rich
# もう実行できる
uv run python -c "import httpx; print('OK')"
uv addした時点で勝手に.venvが作られてパッケージが入ります。
ロックと同期
uv lock # uv.lock生成、0.3ms
uv sync # lockからインストール
git cloneして最初に叩くのが uv sync だけなので、チーム開発がめちゃくちゃ楽になります。
スクリプトに直接依存関係を書く
これが一番好きな機能です。スクリプトの先頭に依存を書いておくだけで、uv runが環境を自動で作って実行します。
# /// script
# dependencies = [
# "httpx",
# "rich",
# ]
# ///
import httpx
from rich.pretty import pprint
response = httpx.get("https://api.github.com")
pprint(response.json())
uv run script.py
単発のデータ取得スクリプトやPoCでとっても重宝します。
Pythonバージョン管理
uv python install 3.10 3.11 3.12
uv python pin 3.12
pyenvはもう(゚⊿゚)イラネ
Dockerで使う
マルチステージビルドと組み合わせるとビルド時間が改善します。
FROM python:3.12-slim AS builder
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
WORKDIR /app
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev
COPY src/ ./src/
依存だけを先にレイヤーに乗せるのがポイントで、コードだけ変えたときはこの層がキャッシュヒットします。
pip互換モードもある
既存プロジェクトを移行したい場合はuv pipコマンドがそのまま使えます。pipをuv pipに置き換えるだけでCIが速くなります。
uv pip install -r requirements.txt
uv pip compile requirements.in --output-file requirements.txt
uv venv
まとめ
| 機能 | 従来 | uv |
|---|---|---|
| パッケージインストール | pip | uv pip / uv add |
| 仮想環境 | venv / virtualenv | 自動生成 |
| ロックファイル | pip-tools / poetry | uv.lock(クロスプラットフォーム) |
| Pythonバージョン | pyenv | uv python install |
| CLIツール実行 | pipx | uvx |
| 単発スクリプト | (面倒) | uv run(自動解決) |
まだpipでいいやって人は、一度試してみてください。戻れなくなりますよ。
【広告】お名前.comならドメイン取得が格安。![]()
検証環境
| OS | Windows 11 (build 10.0.26200) |
|---|---|
| CPU | AMD Ryzen 9 PRO 8945HS w/ Radeon 780M Graphics |
| メモリ | 28GB |
| 言語/ツール | uv 0.12.13 / Python 3.12(uv が取得) / rich(uv run –with で一時インストール) |
| 使用コマンド | uv run –no-project –python 3.12 –with rich — python -c “import rich” |
| 測定日 | 2026-09-17 |
上記の環境で実際に実行して確認した結果です。環境が異なる場合は挙動が変わることがあります。

参考
本文の記述は以下の一次情報を確認して書いています。
- uv 公式ドキュメント(トップ)
- uv インストールガイド
- スクリプトへの依存関係記述(uv run / インラインscriptメタデータ)
- GitHub – astral-sh/uv(公式リポジトリ)
あわせて読みたい
- 【Python】Python 3.14 完全ガイド2026 — Free-Threading と JIT
- 【OSS】OpenCode 入門ガイド — OSS AIコーディングエージェントの使い方
- 【Git】Git 3.0 完全ガイド2026 — SHA-256 デフォルト化と Reftable
- 【OSS】Hono 入門ガイド2026 — 軽量WebフレームワークでREST API開発
【広告】このサイトはConoHa WINGで運営しています。安定した高速サーバーで快適にブログを書けています。いつもありがとう!!![]()

コメント