Open2
[WSL Ubuntu] uv (Python パッケージマネージャ) 導入
uv は Python における 高速なパッケージマネージャー で、pip・virtualenv・pip-tools・uvicorn などの機能を 超高速・一体型 に統合したようなツールです。Rust で書かれており、爆速がウリです。
🌀 uv とは?
- 公式サイト: https://github.com/astral-sh/uv
- 開発元: Astral(元 Python Discord チーム)
-
特徴:
- pip よりも 最大10倍以上速い インストール
- virtualenv の代替としても使用可能
- requirements.txt のロック(pip-tools 的)もできる
- Rust で開発されており、軽量・高速・安全
🚀 uv のインストール方法
uv インストール
curl -LsSf https://astral.sh/uv/install.sh | sh
uv アンインストール
rm -rf ~/.local
# ~/.bashrcの下記の行を削除
. "$HOME/.local/bin/env"
🔧 基本的な使い方
1. 仮想環境の作成
uv venv
カレントディレクトリに .venv/ を作成します(python -m venv と同等)。
2. パッケージのインストール
uv pip install requests
高速に requests をインストール(内部でキャッシュ&並列処理)。
3. requirements.txt のロックファイル生成(pip-tools 的)
uv pip compile requirements.in -o requirements.txt
pip-compile のように依存関係をロックできます。
4. 依存関係の解決とインストール
uv pip sync requirements.txt
これは pip install -r requirements.txt の高速版。
📂 プロジェクト例での流れ
uv venv # 仮想環境作成
source .venv/bin/activate
uv pip install fastapi uvicorn
uv pip install black isort --dev
uv pip compile pyproject.toml -o requirements.txt
uv pip sync requirements.txt
🧪 比較:pip vs uv
項目 | pip |
uv |
---|---|---|
言語 | Python | Rust |
速度 | 普通 | とても速い(並列・キャッシュ) |
仮想環境 | python -m venv |
uv venv |
ロック機能 | なし(pip-tools 併用) |
uv pip compile が内蔵 |
安定性 | 安定 | 開発中だが実用レベル |
📝 注意点
- まだ完全な pip 互換ではない機能もあります(例:一部の PEP 未対応)。
- Python 3.7 以上を推奨。
- .venv フォルダは .gitignore 推奨。
🔚 まとめ
uv は 速度と簡潔さ を重視した現代的な Python パッケージマネージャーであり、特に pip + virtualenv + pip-tools
の操作を1つで済ませたい人にはおすすめです。
uv によるPython のバージョン管理
# uv のバージョンアップ(uv python list 情報も最新化)
uv self update
# 利用可能なPythonの最新バージョンをリストアップ
uv python list
# 全バージョン
uv python list --all-versions
# Python 3.10.17 をダウンロード
uv python install 3.10.17
グローバル Python の設定
uv python install 3.10.17 --default --preview
python --version