Open2

[WSL Ubuntu] uv (Python パッケージマネージャ) 導入

kikudaikikudai

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つで済ませたい人にはおすすめです。

kikudaikikudai

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

https://docs.astral.sh/uv/concepts/python-versions/
https://qiita.com/takashiuesaka/items/89143a944e514168c938