概要
Python の 開発環境管理ツールの一つである uv とそれによる仮想環境の作成についてまとめてみます。
uv は仮想環境の作成以外にもできることはありますが、ここでは主に仮想環境の観点で記載しています。
uv とは
uv は、Astral によって開発されている Python の開発環境管理ツールです。Rust 製で構築されており、以下の特徴があります:
- 🚀 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv などを置き換える、オールインワンのツール。
- ⚡️ pip よりも 10〜100 倍高速。
- 🗂️ ユニバーサルな lockfile を用いた、包括的なプロジェクト管理を提供。
- ❇️ インラインの依存関係メタデータに対応し、スクリプトの実行が可能。
- 🐍 Python のバージョンのインストールと管理に対応。
- 🛠️ Python パッケージとして公開されたツールの実行・インストールが可能。
- 🔩 pip 互換のインターフェースを搭載し、CLIは使い慣れたままパフォーマンス向上。
- 🏢 Cargo スタイルのワークスペースに対応し、大規模プロジェクトもスケーラブルに管理。
- 💾 グローバルキャッシュによる依存関係の重複排除で、ディスク使用量を最小化。
- ⏬ Rust や Python 不要で、
curl
やpip
から簡単にインストール可能。 - 🖥️ macOS、Linux、Windows に対応。
uv
は、Ruff の開発元である Astral によって開発・支援されています。
(github から引用、日本語へ機械翻訳)
公式サイト
https://astral.sh/
https://github.com/astral-sh/uv
https://docs.astral.sh/uv/



uv の主な機能一覧
uv だけでは Python のコードのコンパイル・実行はできず、uv 自体は CPython の上に乗っかる補助ツールの位置づけになります。
ここに記載した事柄以外の詳細は 公式サイトをご確認ください。
1. Python バージョン管理 (Python versions)
- uv python install/list/find/pin/uninstall といったコマンドで、Python 本体(CPython・PyPyなど)のインストール・切り替えが可能。必要に応じて自動インストールも行えます。
2. スクリプト実行(Scripts)
- uv run によって単一の Python スクリプト (.py や HTTP URL) を実行。
- スクリプトヘッダーにインライン依存関係メタデータを書いておくと、自動で環境構築して実行できます。PEP 723 準拠。
3. プロジェクト管理(Project)
- uv init でプロジェクト初期化(pyproject.toml, .python-version, .venv, uv.lock 生成)。
- uv add/remove/sync/lock/run/tree/build/publish による依存管理・環境同期・ビルド・公開。
4. ツール管理(Tools)
- uv tool install(ユーザー全体へ)、uv tool run(エイリアス uvx)による一時環境での CLI ツール実行。
- uv tool list/uninstall/update-shell によるツール一覧やシェル連携管理。
5. pip互換インターフェース(The pip interface)
- uv pip 以下のサブコマンドで、pip や pip-tools、virtualenv のような操作が可能。
- uv venv で仮想環境作成、uv pip compile/sync による lockfile 対応の依存同期などを高速実行。
6. ユーティリティ機能(Utility)
- ワークスペース(Cargoスタイル)対応で複数パッケージを統合管理。
- グローバルキャッシュによる依存重複排除でディスク効率アップ。
- lockfile(uv.lock)はクロスプラットフォーム対応で人間可読かつ再現可能。
機能一覧
カテゴリ | 主なコマンド・特徴 |
---|---|
Python バージョン管理 | install, list, pin, find, uninstall |
スクリプト実行 | uv run、インライン依存対応 |
プロジェクト管理 | init, add/update/remove, sync, lock, tree, build, publish |
ツール実行・管理 | uv tool install / run (uvx) / list / uninstall |
pipインターフェース | uv pip compile / sync / venv など典型的 pip 操作 |
ワークスペース | Cargo スタイル対応、複数プロジェクトを1ツールで管理 |
性能・効率 | グローバルキャッシュ、lockfile による複製排除と高速環境同期 |
プラットフォーム対応 | curl / pip 経由で Rust・Python 不要、macOS/Linux/Windows対応 |
インストール方法
スタンドアローンインストーラを利用してのインストールとなります。
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
出力例)


Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows
PS C:\Users\ユーザ名> powershell -ExecutionPolicy ByPass -c “irm https://astral.sh/uv/install.ps1 | iex”
Downloading uv 0.7.20 (x86_64-pc-windows-msvc)
Installing to C:\Users\ユーザ名\.local\bin
uv.exe
uvx.exe
uvw.exe
everything’s installed!
To add C:\Users\ユーザ名\.local\bin to your PATH, either restart your shell or run:
set Path=C:\Users\ユーザ名\.local\bin;%Path% (cmd)
$env:Path = “C:\Users\ユーザー名\.local\bin;$env:Path” (powershell)
PS C:\Users\ユーザ名>
実行後、自動的にパスも設定されます。

macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
インストール後の確認
インストール後に、ターミナルを起動しなおして、以下を実行しバージョンが表示されれば OK です。
(Windows のターミナルか PowerShell あるいは、macOS / Linux のシェルで実行)
uv --version

uv の基本的な使い方 (仮想環境の観点で)
仮想環境の作成
以下のコマンドで、仮想環境が作成できます。
.venv フォルダが自動的に作成されます。
uv venv

名前やパスを指定することも可能です。(例 : my-env)
uv venv my-env
特定の Python バージョンを指定して環境を作成することもできます。
uv venv --python 3.10
指定したバージョンがシステムに存在しない場合は、uv が自動的に該当バージョンのダウンロードとインストールも行います。
例)
すでに Python 3.13, 3.12, 3.11 をインストール済みの環境で 3.10 の仮想環境を作成した場合、自動で 3.10 がダウンロードされ仮想環境が作成されます。





uv で利用する Python
uv が認識できているインストール済みの Python は、uv python list で確認できます。

また、uv が自動的にダウンロードした python は、デフォルトでは、%APPDATA%\uv\python (C:\User\ユーザ名\AppData\Roaming\uv\python\ ) にインストールされます。
uv でインストールした python は、uv python uninstall -i インストールディレクトリ バージョン でアンインストールできます。



仮想環境の有効化 (Activate)
仮想環境をアクティベートすることで、作成した仮想環境で作業できます。
.\.venv\Scripts\activate # Windows
source .venv/bin/activate # Linux/macOS
仮想環境の無効化 (Deactivate)
仮想環境を無効にするには、以下のコマンドを実行します。
deactivate

パッケージのインストール
Activate した状態で、以下を実行することで仮想環境にパッケージをインストールできます。
uv pip install パッケージ名
例)
仮想環境を Activate して requests パッケージをインストール

依存関係の書き出しと再現
仮想環境にインストールされているパッケージ・依存関係の情報を書きだし と、それに基づいてのインストールを行う場合は以下のコマンドとなります。
uv pip freeze > requirements.txt
uv pip install -r requirements.txt
参考となれば幸いです。