Python環境管理ツールuvの導入
uvとは
uvは、Pythonとパッケージのバージョンをすべて管理できる環境構築ツールです。Rust で開発されており、従来のpipやpip-toolsと比較して非常に高速に動作します。
このツールを使うことで、プロジェクトごとに異なるPythonバージョンやパッケージの組み合わせを簡単に管理でき、再現性の高い環境構築が実現できます。
導入方法
uvのインストールは非常に簡単です。以下のコマンドを実行するだけで導入できます。
curl -LsSf https://astral.sh/uv/install.sh | sh
Windowsをお使いの場合は、PowerShellで以下のコマンドを実行します。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
インストールが完了したら、ターミナルで uv --version を実行して、正しくインストールされたことを確認できます。
Pythonバージョンとパッケージの管理
Pythonバージョンの管理
uvを使えば、プロジェクトごとに異なるPythonバージョンを簡単に切り替えられます。
# 特定のPythonバージョンをインストール
uv python install 3.12
# プロジェクト途中でPythonバージョンを切り替え
uv python pin 3.12
パッケージの管理
パッケージのインストールや管理も、uvコマンドで統一的に行えます。
# 新しいプロジェクトを作成
uv init my-project
cd my-project
# パッケージをインストール
uv add requests
# 開発用パッケージをインストール
uv add --dev pytest
uvは依存関係を uv.lock ファイルに記録するため、チーム全体で同じ環境を再現できます。このロックファイルにより、どの環境でも同じバージョンのパッケージがインストールされることが保証されます。
環境の再現方法
uv.lock ファイルを基にした環境の再現は、以下のコマンド1つで完結します。
uv sync
このコマンドを実行すると、ロックファイルに記録された依存関係が自動的にインストールされます。開発者全員が同じPythonバージョンと同じパッケージバージョンの環境を使用できるようになります。
チーム開発では、uv.lock ファイルをGitで管理することで、環境の差異によるトラブルを防げます。新しいメンバーがプロジェクトに参加する際も、uvをインストールして uv sync を実行するだけで、すぐに開発を始められます。
Pythonスクリプトの実行
uvで管理されたプロジェクトでPythonスクリプトを実行する場合、uv run コマンドを使用します。
# Pythonスクリプトを実行
uv run python script.py
# または、直接Pythonコマンドとして実行
uv run script.py
uv run を使うことで、プロジェクトの依存関係が自動的に解決され、正しい環境でスクリプトが実行されます。仮想環境を明示的にアクティベートする必要がないため、スムーズに開発を進められます。
まとめ
uvは、Pythonの環境管理を大幅に簡素化してくれるツールです。インストールが手軽で、Pythonバージョンとパッケージを一元管理できる点が魅力です。
再現性の高い環境構築が求められるプロジェクトでは、特に有用なツールと言えます。
より詳しい情報は、uv公式ドキュメントをご参照ください。
あわせて読みたい記事
Miniconda と Mamba のインストール
サイエンス系パッケージの環境構築に必要となるMinicondaとMambaについて、インストール方法と基本的な使い方を紹介します。uvでは対応できないPyPI未公開パッケージを扱う際に役立つツールで、Mambaは高速な依存関係解決が特徴です。