Macで使うuv(Pythonパッケージマネージャー)完全ガイド

Mac で使う uv(Python パッケージマネージャー)完全ガイド


1. uv とは

uv(Ultra-fast universal package installer) は、Astral(Ruff Linter開発元)によって Rust で開発された 超高速の Python パッケージ・プロジェクト管理ツール です。

従来、Python 開発には複数のツールを使い分ける必要がありました:
pip … パッケージインストール
pyenv … Python バージョン管理
virtualenv … 仮想環境の作成
poetry / rye … プロジェクト依存関係管理
pipx … CLI ツールのグローバルインストール

uv はこれら すべてを単一ツールに置き換える ことを目的としており、10〜100倍の速度向上を実現しています。


2. Mac へのインストール方法

方法①:公式インストーラ(推奨)

Astral 開発元が推奨するインストール方法です。Python や Homebrew の事前インストールは不要です。

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

動作内容:
~/.local/binuvuvx バイナリをインストール
~/.zshenv を自動修正し、PATH に ~/.local/bin を追加
$HOME/.local/bin/env ファイルを作成(現在のセッションで uv を有効化)

# 設定を反映(ターミナル再起動不要の場合)
source $HOME/.local/bin/env

# インストール確認
uv --version

方法②:Homebrew 経由

すでに Homebrew を使っている場合はこちらが便利です。

brew install uv

どちらを選ぶべきか:
最新バージョンをすぐ導入したい → 公式インストーラ(uv self updateで自動更新)
Homebrew パッケージとともに管理したいbrew install uvbrew upgrade uv で更新)

インストール方法の比較

項目 公式インストーラ Homebrew
PATH 設定 自動 手動になる場合あり
アップデート uv self update brew upgrade uv
バージョン追従 最新版が即リリース Homebrew リリース日に依存
事前要件 なし Homebrew が必要

3. 基本的な使い方

プロジェクトの初期化

# 新しいプロジェクトを作成(pyproject.toml が自動生成される)
uv init myproject
cd myproject

# 既存ディレクトリで初期化
uv init

Python バージョンの管理

# Python の全バージョン一覧を表示
uv python list

# インストール済みのバージョンのみ表示
uv python list --only-installed

# 最新の安定版をインストール
uv python install

# 特定のバージョンをインストール
uv python install 3.12
uv python install 3.10 3.11 3.12    # 複数同時にも対応

# PyPy などの代替実装もインストール可能
uv python install pypy3.10

# プロジェクトで特定の Python バージョンを指定(.python-version が作成)
uv python pin 3.12

パッケージの依存関係管理

# パッケージを追加(pyproject.toml を自動更新 + .venv にインストール)
uv add requests
uv add "fastapi>=0.100.0"
uv add "django~=4.2"
uv add pytest --dev    # 開発用依存関係として追加

# requirements.txt から一括インストール
uv pip install -r requirements.txt

仮想環境の操作

# .venv という名前の仮想環境を作成
uv venv

# 特定の Python バージョンで仮想環境を作成
uv venv --python 3.12

# 仮想環境を有効化
source .venv/bin/activate

プロジェクト依存関係の同期

# pyproject.toml や uv.lock に記載された依存関係をすべてインストール
uv sync

スクリプトの実行

# プロジェクト環境内でスクリプトを実行
uv run python script.py
uv run main.py

# テストも同じコマンドで実行可能
uv run pytest
uv run python -c "import requests; print('OK')"

ツールの実行(uvx)

# 一時的な環境で ruff を実行(インストール不要)
uvx ruff check .

# ツールを恒久的にインストール
uv tool install ruff

4. macOS 特有の注意点

PATH の設定

公式インストーラを使用した場合、~/.zshenv は自動的に修正されます。PATH が通っているか確認:

echo $PATH
# ~/.local/bin が含まれていることを確認

手動で PATH を設定する必要がある場合(Homebrew 導入時など):

# ~/.zprofile または ~/.zshenv に追加
export PATH="$HOME/.local/bin:$PATH"
source ~/.zprofile

Apple Silicon (Mシリーズ) と Intel 系Macの違い

  • 公式インストーラ:プロセッサ種別に関係なく ~/.local/bin にインストール
  • Homebrew
  • Apple Silicon → /opt/homebrew/bin
  • Intel Mac → /usr/local/bin

Xcode Command Line Tools の事前インストール

xcode-select -p    # パスが表示されればOK

表示されない場合は事前にインストール:

xcode-select --install

5. uv を使った開発ワークフロー例

# Step 1: uv のインストール
curl -LsSf https://astral.sh/uv/install.sh | sh

# Step 2: プロジェクト作成
mkdir myproject && cd myproject
uv init
uv python pin 3.12    # Python 3.12 を指定

# Step 3: パッケージ追加
uv add requests
uv add "fastapi>=0.100.0"
uv add pytest --dev

# Step 4: 仮想環境の同期
uv sync

# Step 5: スクリプト実行
uv run python script.py

6. uv の主な特徴・メリット

項目 説明
速度 pip と比較して 10〜100倍高速。並列ダウンロード、グローバルキャッシュ、効率的な依存解決によって実現
単一ツール pip / pyenv / virtualenv / poetry / pipx のすべてを置き換え可能
スタンドバイナリ Python や Rust なしでインストール可能
ロックファイル uv.lock で依存関係を厳密に固定。CI/CD 環境でも再現性確保
バージョン管理 uv python install / pin で Python バージョンを簡単に切り替え
ワークスペース対応 Cargo スタイルのワークスペースで大規模プロジェクトも管理可能
ディスク節約 グローバルキャッシュで依存関係の重複を回避
pip互換インターフェース uv pip install で既存の pip コマンドを引き続き使用可能

7. よく使うコマンド一覧(リファレンス)

# インストール確認
uv --version

# Python 管理
uv python list                  # 全バージョン表示
uv python list --only-installed # インストール済み表示
uv python install 3.12          # バージョンインストール
uv python find                  # デフォルトのPythonを表示
uv python dir                   # Python保存先ディレクトリ
uv python pin 3.12              # プロジェクトでバージョン指定

# プロジェクト管理
uv init myproject               # プロジェクト生成
uv add <package>                # パッケージ追加
uv sync                         # 依存関係一括インストール
uv lock                         # ロックファイル生成

# 仮想環境
uv venv                         # .venv を作成
uv venv --python 3.12           # 特定バージョンで仮想環境

# スクリプト実行
uv run python script.py         # プロジェクト環境内で実行
uv run pytest                   # テスト実行

# ツール
uvx ruff check .                # 一時的にツールを実行
uv tool install ruff            # ツールを恒久インストール

# パイプライン(pip互換)
uv pip install requests         # pip install の代替
uv pip compile requirements.in -o requirements.txt

8. uv のアップデート方法

公式インストーラ版の場合

uv self update    # uv を最新バージョンに自動更新

Homebrew 版の場合

brew upgrade uv   # Homebrew経由で更新

注意: Homebrew版で uv self update を実行したり、その逆をしたりすると、インストール方法が混在して問題が発生する可能性があります。


9. アンインストール方法

# キャッシュとデータ削除(任意)
uv cache clean
rm -r "$(uv python dir)"
rm -r "$(uv tool dir)"

# 公式インストーラ版の場合
rm ~/.local/bin/uv ~/.local/bin/uvx

# Homebrew 版の場合
brew uninstall uv

# shell設定ファイルの PATH エントリ削除(必要に応じて)
# ~/.zshenv または ~/.zprofile を編集

10. 参考:Rye から uv への移行

Rye は Astral の Charlie Marsh が以前に開発したプロジェクト管理ツールで、現在はメンテナンスモードです。uv が後継として推奨されています。

既存の Rye プロジェクトからの移行は単純で、プロジェクトディレクトリで以下を実行するだけです:

cd myproject
uv sync    # pyproject.toml を読み込んで依存関係をインストール

参考サイト・記事

タイトル URL
Install uv · Mac Install Guide(公式手順書) https://mac.install.guide/python/install-uv
uv for Python on Mac(Mac Install Guide) https://mac.install.guide/python/uv
macOS に uv を入れて Python のパッケージ管理を行う https://sig9.org/blog/2024/04/28/
最新のパッケージ管理ツール”UV”をインストールして使ってみた https://note.com/noa813/n/nec941b514bca
uv完全ガイド – Python開発を爆速にする次世代ツール https://timesaving.hatenablog.com/entry/2024/07/27/150000
uv公式ドキュメント https://docs.astral.sh/uv/
How to Install and Use UV Package Manager on Windows and Mac https://medium.com/@batoolarifa73/how-to-install-and-use-uv-package-manager-on-windows-and-mac-483f6f9de3c6

まとめ: uv は「1つのツールでPython開発を完全管理できる」次世代パッケージマネージャーです。Mac では公式インストーラか Homebrew のいずれかで簡単に導入でき、pip/pyenv/virtualenv などの複数のツールを使う煩雑さから解放されます。Rust で書かれたスタンドバイナリのため、パフォーマンスが非常に高く、10〜100倍の高速化を実現しています。

コメント

タイトルとURLをコピーしました