注目キーワード
  1. Python
  2. コンペ

Python uvの使い方入門|pip・venvより速いパッケージ管理ツールを解説

  • 2026年6月9日
  • 2026年6月9日
  • Python
  • 3回
  • 0件

Python uvとは?pip・venvとの違いを整理する

uvは、Rustで書かれたPython向けのパッケージ管理・仮想環境管理ツールです。Astral社が開発しており、pipvenvの代替として使えます。

最大の特徴は処理速度で、パッケージのインストールがpipと比べて数倍から十数倍速いとされています。また、パッケージ管理と仮想環境管理を1つのツールにまとめて扱える点も利点です。

Python標準のvenvを使った仮想環境の作り方については、Python venvとは?install方法とversion指定を初心者向けに5ステップで解説で詳しく解説しています。この記事ではuvに特化して、インストールから基本的な使い方、pip・venvとの比較まで説明します。

uvが選ばれる理由

  • 速度:依存関係の解決とインストールが高速
  • 統合性:パッケージ管理・仮想環境・Pythonバージョン管理を1つで扱える
  • pipとの互換性:多くの場面でpipのコマンドをuv用に読み替えて使える
  • ロックファイルuv.lockで環境を再現しやすい

uvのインストール方法

uvはPythonのパッケージではないため、pipではなく専用のインストール方法を使います。

macOS・Linux

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

インストール後、シェルを再起動するかパスを通してから動作確認します。

uv --version
uv 0.x.x

Windows(PowerShell)

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

インストール後に以下で確認します。

uv --version
uv 0.x.x

pipでインストールする方法もありますが、公式が推奨する上記の方法が基本です。

uvで仮想環境を作成・管理する

uvを使った仮想環境の作成は、venvとよく似たコマンドで行います。

仮想環境の作成

uv venv

実行すると、カレントディレクトリに.venvフォルダが作成されます。

Using CPython 3.x.x
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

Pythonのバージョンを指定して作成することもできます。

uv venv --python 3.11

仮想環境の有効化

作成した仮想環境の有効化は、venvと同じ方法で行います。

macOS・Linux:

source .venv/bin/activate

Windows(PowerShell):

.venv\Scripts\activate

有効化後は(uv)または.venvのようなプレフィックスがターミナルに表示されます。

仮想環境の無効化

deactivate

uvでパッケージをインストールする

uvの基本的なパッケージ操作は、pipのコマンドをuv pipに読み替えるだけで使えます。

パッケージのインストール

uv pip install requests
Resolved 5 packages in 200ms
Installed 5 packages in 50ms
 + certifi==xxxx.xx.xx
 + charset-normalizer==x.x.x
 + idna==x.x
 + requests==x.x.x
 + urllib3==x.x.x

pip単体と比べて依存解決からインストールまでの時間が短くなります。

バージョンを指定してインストール

uv pip install "requests==2.31.0"

requirements.txtからインストール

uv pip install -r requirements.txt

インストール済みパッケージの確認

uv pip list
Package    Version
---------- -------
certifi    xxxx.xx.xx
requests   x.x.x
...

pip・condaでのバージョン確認コマンドと使い分けについては、Pythonライブラリのバージョン確認コマンド完全ガイドで詳しく解説しています。

uvのプロジェクト管理機能

uvには、仮想環境とパッケージ管理を統合したプロジェクト管理機能があります。

プロジェクトの初期化

uv init myproject
cd myproject

実行すると以下のようなファイルが生成されます。

myproject/
├── .python-version
├── README.md
├── main.py
└── pyproject.toml

プロジェクトにパッケージを追加する

uv add requests
Resolved 6 packages in 150ms
Installed 5 packages in 40ms
 + requests==x.x.x
 ...

このコマンドを使うと、pyproject.tomlの依存関係リストとuv.lockファイルが自動で更新されます。

パッケージの削除

uv remove requests

ロックファイルから環境を再現する

uv.lockがあるプロジェクトをクローンした場合、以下のコマンドで同じ環境を再現できます。

uv sync

チーム開発での環境再現に使いやすい仕組みです。

pip・venvとuvの比較

速度の違い

uvはRust製の依存解決エンジンを採用しており、特にパッケージ数が多い環境で速度の差が出やすいです。

操作pip + venvuv
仮想環境作成python -m venv .venvuv venv
パッケージインストールpip install xxxuv pip install xxx または uv add xxx
依存解決の速度標準高速(数倍〜十数倍速いとされる)
ロックファイルrequirements.txt(手動管理)uv.lock(自動生成)
Pythonバージョン管理別途pyenvなどが必要uv python installで管理可能

速度の差が最も出るのは、多くのパッケージをまとめてインストールする場面です。数パッケージ程度ではそこまで差を感じないこともあります。

uvが向いている場面

  • CIやDockerで毎回依存関係をインストールする環境
  • パッケージ数が多いプロジェクト
  • Pythonバージョンの切り替えを頻繁に行う場合
  • チームで再現性の高い環境管理を行いたい場合

pipのまま続けてよい場面

  • 既存プロジェクトで変更コストをかけたくない
  • シンプルな単発スクリプトの実行
  • 現行のpip + venvで特に困っていない

uvを使うときの注意点

uvとpipを混在させない

同じ仮想環境内でuvとpipを混在して使うと、ロックファイルの内容が実際の環境と合わなくなることがあります。基本的にはどちらか一方に統一して使うほうが管理しやすいです。

uv.lockをバージョン管理に含める

uv.lockはチームで環境を再現するためのファイルです。.gitignoreに含めず、Gitでコミットするのが基本的な運用です。

Pythonバージョン管理ツールとの併用

pyenvなどを既に使っている場合、uvのPythonバージョン管理機能(uv python)と重複します。どちらで管理するかを先に決めておくと管理が楽になります。

uvのバージョンによる挙動の差

uvは比較的新しいツールで更新頻度が高く、バージョンによってコマンドや挙動が変わることがあります。公式ドキュメントを参照しながら使うことをおすすめします。

AI時代での補足

AIにコードや環境構築の手順を生成させる場面が増えていますが、uvのような比較的新しいツールはAIの学習データに含まれていないバージョンの情報を出力することがあります。生成されたコマンドが動かない場合、uvのバージョンと公式ドキュメントを照合して判断できると修正がしやすくなります。

まとめ

uvは、pip・venvの代替として使えるRustベースの高速パッケージ管理ツールです。

この記事で扱った主な内容を整理します。

  • uvはインストールスクリプトで導入する(pipでのインストールも可能)
  • uv venvで仮想環境を作成し、有効化・無効化はvenvと同じ
  • uv pip installはpipの操作をほぼそのまま置き換えられる
  • uv add / uv syncを使うとプロジェクト単位の依存管理がしやすい
  • pipとの混在は避け、どちらで管理するかを統一する

Python標準のvenvによる仮想環境管理の基礎から学びたい場合は、Python venvとは?install方法とversion指定を初心者向けに5ステップで解説をあわせて参照してください。

最新情報をチェックしよう!