uv とは
uv は、Ruff を作った Astral が Rust で書いた非常に高速な Python のパッケージ/プロジェクトマネージャです。pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv などを 1 つのツールで置き換える設計で、従来の Python ツールより10〜100 倍高速です。
- パッケージのインストールが pip より 10〜100 倍高速
- 依存解決が秒単位ではなくミリ秒単位
- グローバルキャッシュにより、依存を重複排除してディスクを節約
- 並列ダウンロードと並列インストール
⚡ uv の主な機能
🚀 圧倒的な速さ
Rust の性能により pip より 10〜100 倍高速。並列ダウンロード、効率のよいキャッシュ、最適化された依存解決。
🗂️ プロジェクト管理
共通のロックファイル、ワークスペース対応、依存の追跡を備えた、Poetry に近い本格的なプロジェクト管理。
🐍 Python バージョン管理
複数の Python バージョンを導入して管理できます。必要に応じてダウンロードし、手間なく切り替えられます。
🛠️ ツールの管理
uvx(pipx のようなもの)で Python のツールを実行・インストールできます。使い捨ての環境で動かすことも、グローバルに入れることもできます。
📜 スクリプト対応
依存関係をインラインのメタデータに書いた単一ファイルのスクリプトを実行できます。環境の作成と依存の管理は自動です。
🔩 pip 互換
pip、pip-tools、virtualenv をそのまま置き換えられます。CLI は見慣れたままに、プラットフォーム非依存の依存解決といった高度な機能が加わります。
apt upgrade を実行するだけで、常に最新版を使い続けられます。
📦 deb.griffo.io からインストールする
ステップ 1: リポジトリを追加する
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh と Zed です。uv は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。
ステップ 2: uv をインストールする
# 最新の uv をインストール
sudo apt install uv
# インストールを確認
uv --version# 最新の uv をインストール
apt install uv
# インストールを確認
uv --version🎯 基本的な使い方
プロジェクト管理:
# 新しい Python プロジェクトを作る
uv init my-project
cd my-project
# 依存を追加
uv add requests pandas
# プロジェクトを実行
uv run python main.py
# 依存を同期
uv syncpip コマンドを置き換える:
# 仮想環境を作る
uv venv
# パッケージを入れる(pip よりずっと速い)
uv pip install requests numpy pandas
# requirements をコンパイル
uv pip compile requirements.in
# requirements を同期
uv pip sync requirements.txtPython バージョンの管理:
# Python のバージョンをインストール
uv python install 3.11 3.12 3.13
# 特定の Python バージョンを使う
uv python pin 3.12
# 特定の Python で実行
uv run --python 3.11 python script.pyツールの管理:
# 使い捨ての環境でツールを実行
uvx black .
uvx ruff check
# ツールをグローバルに入れる
uv tool install black
uv tool install ruff
# インストール済みのツールを一覧
uv tool list🚀 deb.griffo.io を選ぶ理由
- 公式 Ubuntu: 古いバージョンが多く、最新機能が使えない
- pip install: 遅く、Python が入っている必要があります
- curl インストーラ: 更新は手動で、パッケージ管理もなし
- deb.griffo.io: 最新版を自動更新でお届け
- ✅ 最新の性能: 最新の高速化と最適化が手に入ります
- ✅ 自動更新: 上流のリリースから数時間以内にパッケージを更新
- ✅ セットアップ不要: ビルド済みバイナリ、Rust のコンパイルは不要
- ✅ 正しく統合: システムの依存関係とともに正しくパッケージ化
- ✅ マルチディストリビューション: Jammy と Noble で動作
- ✅ 手間のかからない運用: 更新は通常の apt コマンドだけ
🏆 uv が画期的な理由
- 速度: Rust 実装により 10〜100 倍の性能向上
- ツールをひとつに: 複数の Python ツールを単一バイナリで置き換えます
- 今どきの機能: ロックファイル、ワークスペース、高度な依存解決
- 互換性: 既存のワークフローをそのまま置き換えられます
- 再現性: 決定的なビルドと、再現できる環境
📦 パッケージのビルドリポジトリ
Ubuntu パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:
- 🐍 uv-debian - 最新リリースのビルド
🔗 関連パッケージ
deb.griffo.io では、こちらも配布しています:
- Zig プログラミング言語 - モダンなシステムプログラミング
- Ghostty ターミナル - 開発のための高速なターミナル
- fzf ファジーファインダー - コマンド検索を強化