Macで使うuv入門:Python環境構築と依存関係管理

CHATGPT / AIChatGPTなどの生成AIを活用して運営・記事制作・更新を行っています。制作方針

Macにuvを導入し、Pythonバージョン管理、仮想環境、依存関係、uv.lock、スクリプト実行までを再現できるコマンド例で解説します。

Macでuvを使い、Python環境の初期化、依存同期、実行を一続きにする図解

この記事でわかること

MacでPython環境をすばやく作り、プロジェクトごとに依存関係を整理するためのuv入門記事です。

  • Macでuvを導入する方法
  • Pythonバージョンと依存関係の管理
  • スクリプト実行や同期コマンドの基本

おすすめ読者: MacでPython開発を始めたい人、pip/venvの管理を簡単にしたい人。

読む前の注意: コマンド、ライブラリ、モデルの仕様は環境やバージョンで変わります。実行前に手元の環境と公式情報を確認してください。

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は、project管理、package操作、Python管理、CLI tool実行など複数の機能を一つの実行ファイルから提供します。既存のすべてのツールやワークフローをそのまま置き換えられるわけではありません。速度差は処理内容、network、cacheなどの条件で変わります。


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

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

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

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

スタンドアロンインストーラーは通常、ユーザー実行ファイル用のディレクトリへuvとuvxを配置します。PATHの設定が必要な場合にshell profileを変更することがあります。実行結果を確認し、変更を避ける場合はUV_NO_MODIFY_PATH=1を指定してください。

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

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

方法②:Homebrew 経由

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

brew install uv

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

インストール方法の比較

項目公式インストーラHomebrew
PATH 設定自動手動になる場合あり
アップデートuv self updatebrew 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 の設定

公式インストーラは必要に応じてshell profileを変更します。どのファイルが変更されたかをインストーラの表示と手元の設定で確認し、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 の主な特徴・メリット

項目説明
速度並列処理やcacheを活用します。pipとの速度差は処理内容、環境、cacheの有無で変わるため、同じ条件で比較します
複数の機能を統合Python・project・package・CLI tool管理の機能を提供しますが、既存ツールと完全に同じ機能や設定を持つとは限りません
スタンドバイナリ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が管理するPythonを確認し、不要な版だけ削除
uv python list --only-installed
uv python uninstall 3.12.4  # 上の一覧から対象のバージョンを選ぶ

# uvで入れたCLIツールを確認し、不要なものだけ削除
uv tool list
uv tool uninstall ruff

# Homebrew版の場合
brew uninstall uv

# スタンドアロン版は command -v uv / command -v uvx で実際の配置先を確認してから
# uv / uvx の実行ファイルだけを削除。変更されたPATH設定も必要に応じて確認

注意: uv cache cleanはuv cache全体を削除します。cacheをsymlink方式で共有している場合は既存環境のpackageを使えなくすることがあります。通常のアンインストールには不要です。


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

Ryeプロジェクトをuvへ切り替えるときは、設定やロックファイルの扱いを確認してから移行します。uv公式のmigration guideはpipからuv projectへの移行を扱っており、Ryeからの一括移行手順は掲載していません(2026年10月2日確認)。そのため、単にuv syncを実行すればRye設定も変換されるとは限りません。


参考サイト・記事

タイトル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 Machttps://medium.com/@batoolarifa73/how-to-install-and-use-uv-package-manager-on-windows-and-mac-483f6f9de3c6
uv公式ドキュメント(migration、benchmarks、installer、storage)確認日 2026-10-02migration / benchmarks / installer / storage

まとめ: uvはMacでPython project、環境、package、CLI toolを管理する選択肢です。公式インストーラーかHomebrewから導入できます。既存ツールの設定を移行するときは互換性を個別に確認し、速度は同じ条件で測定してください。

よくある質問

Homebrewと公式インストーラはどちらがよいですか?

普段からHomebrewで開発ツールを管理しているならHomebrew、uv単体で新しく試すなら公式インストーラが分かりやすいです。

既存のPython環境と衝突しますか?

プロジェクトごとに環境を分ければ衝突は抑えられます。PATHと使用中のPythonを確認しながら進めてください。

Linux版の記事も読むべきですか?

Macだけで完結するなら不要ですが、VPSやDockerで動かす予定があるならLinux版も読むと運用時の差分が分かります。

表を拡大

左右にスワイプして読めます