
みなさん、こんにちは。日々Pythonでの開発を楽しんでいますか? 「ライブラリのインストールや仮想環境の作成に、少し時間がかかるな……」と感じたことはありませんか? 今回は、そんな開発中の「待ち時間」を劇的に減らし、作業効率を跳ね上げてくれる今大注目のツール「uv」をご紹介します。スマートで快適なPython開発環境を、私と一緒に整えてみましょう!
「uv」とは?
「uv」は、Pythonの超高速リンター「Ruff」の開発元としても知られるAstral社が開発した、Rust製のPythonパッケージ・プロジェクト管理ツールです。
従来の pip や virtualenv、さらには pyenv や poetry のような機能までをカバーしており、これ1つでPythonバージョンの切り替えから、仮想環境の構築、パッケージのインストールまでを圧倒的なスピードでこなしてくれます。
Ruffと同じ開発元ということで、信頼性と速度は折り紙付きです。使ってみると、本当に一瞬で作業が終わるので、初めて使った時は感動してしまいました!
uvの主なメリット
- 圧倒的なスピード:Rustで書かれているため、パッケージのダウンロードや依存関係の解決が、従来の
pipに比べて数十倍も高速です。キャッシュが効いている状態では、ほぼ一瞬(ミリ秒単位)で処理が完了します。 - 1つのツールで完結するオールインワン設計:Python本体のインストール、仮想環境(venv)の作成、パッケージのインストール、依存関係のロック(
requirements.txtの生成)がすべてuvコマンドだけで行えます。 - 既存のワークフローと高い互換性:
uv pipコマンド群が用意されているため、既存のpipコマンドをほぼそのまま置き換えるだけで使用できます。
uvの基本的な使い方
uvはコマンドラインツールです。ここでは、インストールから仮想環境の構築、パッケージ管理までの基本的な流れをご紹介します。
1. uvのインストール
まずは、お使いの環境に uv をインストールします。
# macOS / Linux の場合
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows の場合 (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"2. Pythonバージョンの管理
pyenv などの外部ツールを使わなくても、uv自身が適切なPythonを自動でダウンロードしてくれます。
# 特定のPythonバージョンでコマンドを実行する(自動でダウンロードされます)
uv run --with python@3.12 python -V3. プロジェクトの初期化と仮想環境の作成
新しくプロジェクトを開始し、仮想環境を作成してみましょう。
# プロジェクトディレクトリを作成して移動
mkdir my-project && cd my-project
# 仮想環境(.venv)を作成(一瞬で終わります!)
uv venv
# 仮想環境をアクティベート
# macOS / Linux:
source .venv/bin/activate
# Windows (PowerShell):
.venv\Scripts\Activate.ps1uv pip compile コマンドを使えば、依存関係をカチッと固定した requirements.txt も一瞬で生成できます。複数人での開発時にも、環境がブレずに安心ですね。
4. パッケージのインストールとPythonスクリプトの実行
例として、データ解析によく使われる pandas をインストールして、簡単なスクリプトを動かしてみます。
# pandas をインストール(驚くほどの速さを実感できます)
uv pip install pandasインストールした pandas を使って、Pythonスクリプトを実行してみましょう。
# sample.py
import pandas as pd
# 簡単なデータフレームを作成して表示
data = {
"名前": ["みーちゃん", "光", "翔太"],
"専攻": ["情報工学", "物理学", "文学"],
"Python歴": [3, 1, 2]
}
df = pd.DataFrame(data)
print(df)このファイルを、以下のコマンドで実行します。
python sample.py## みーちゃんのワンポイント
「uv」を使う上での最も重要なコツは、必ず uv venv で作成したプロジェクトごとの仮想環境の中で作業することです。グローバル環境への直接インストールを防ぎつつ、プロジェクトごとに異なるライブラリやPythonのバージョンを、高速かつクリーンに使い分けるのがスマートな開発への近道ですよ。
