【OSS】Pythonパッケージマネージャー「uv」のインストールと基本的な使い方【2026年最新】

目次

結論

Pythonのパッケージ管理にちょっとでも不満があるなら、今すぐRust製の超高速ツール「uv」に乗り換えるのがいい。たったの3行で完了します。

# インストール(macOS/Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh

# プロジェクト作って依存追加するだけ
uv init my_project && cd my_project
uv add requests

この一連の操作が1秒かからないんですよね。pipでrequirements.txt書いてvenv作ってactivateして…いままで大変でしたが、uvだと脳死で完了しちゃいます。

uvって何?

Astral社(Ruffのあの会社)がRustでガリガリに最適化した、次世代Pythonパッケージマネージャーです。これ1本で従来のツール群を片付けられます。

pipでのインストール、venv/virtualenvでの仮想環境、pip-toolsのロックファイル、poetryのプロジェクト管理、pipxのCLIツール分離、pyenvのPythonバージョン管理。これら全部、uvで事足ります。

速度はpip比で10〜100倍!キャッシュが効いてると数十パッケージの解決がミリ秒で終わります。CIでのストレスが減るのが地味に嬉しい。

クロスプラットフォームのロックファイルも地味に熱い。poetryはプラットフォームごとにロックが分かれて地味に面倒でしたが、uv.lockは1つで全環境カバーします。

インストール

スタンドアロンバイナリなので、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コマンドがそのまま使えます。

uv pip install -r requirements.txt
uv pip compile requirements.in --output-file requirements.txt
uv venv

pipをuv pipに置き換えるだけでCIが速くなります。

まとめ

機能従来uv
パッケージインストールpipuv pip / uv add
仮想環境venv / virtualenv自動生成
ロックファイルpip-tools / poetryuv.lock(クロスプラットフォーム)
Pythonバージョンpyenvuv python install
CLIツール実行pipxuvx
単発スクリプト(面倒)uv run(自動解決)

まだpipでいいやって人は、一度試してみてください。戻れなくなりますよ。

【広告】お名前.comならドメイン取得が格安。

【広告】このサイトはConoHa WINGで運営しています。安定した高速サーバーで快適にブログを書けています。いつもありがとう!!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次