UV

Rust製超高速Python Package Manager

10-100x より高速
1つ ツールで全解決
10%+ PyPIシェア

インストール方法

🐧 Linux / macOS

curl -LsSf https://astral.sh/uv/install.sh | sh

🪟 Windows (PowerShell)

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

📦 その他の方法

# pip経由 pip install uv # Homebrew (macOS) brew install uv # Cargo (Rust) cargo install uv

主な特徴

  • pip、pip-tools、virtualenv等を単一ツールで置き換え
  • 依存関係解決が10-100倍高速
  • 自動仮想環境管理
  • 複数Python版管理
  • プロジェクト初期化機能
  • クロスプラットフォーム対応
  • 既存ワークフローとの互換性

基本コマンド

📦 パッケージ管理

# パッケージ追加 uv add requests # パッケージ削除 uv remove requests # 依存関係同期 uv sync # ロックファイル更新 uv lock

🏠 環境管理

# 仮想環境作成 uv venv # スクリプト実行 uv run script.py # プロジェクト初期化 uv init my-project

基本ワークフロー

1
プロジェクト作成

新しいプロジェクトを初期化し、必要な設定ファイルを自動生成

uv init my-project
cd my-project
2
依存関係追加

必要なパッケージを追加し、自動で仮想環境を構築

uv add requests flask
3
開発開始

コードを書いて、uvで直接実行

uv run python main.py
4
依存関係管理

開発用パッケージの追加や環境の同期

uv add --dev pytest
uv sync

従来ツールとの比較

🆚

pip + virtualenv

  • 依存関係解決10-100倍高速
  • 仮想環境作成80倍高速
  • 統合されたワークフロー
  • より明確なエラーメッセージ
🆚

Poetry

  • 同等の機能をより高速で提供
  • 軽量なリソース使用
  • 既存プロジェクトとの互換性
  • pipとの互換インターフェース
🆚

Conda

  • Pythonパッケージに特化
  • より高速なインストール
  • 標準Python生態系との統合
  • 軽量な実行環境

実用的なTips

🔄 既存プロジェクトの移行

requirements.txtがあるプロジェクトも簡単にuvに移行できます

uv add $(cat requirements.txt)

🐍 Python版管理

複数のPythonバージョンを簡単に管理

uv python install 3.12
uv venv --python 3.12

📝 スクリプト実行

依存関係を含むスクリプトを直接実行

uv run --with requests script.py

🛠️ ツール管理

開発ツールをグローバルに管理

uv tool install ruff black