サイトアイコン アマチュア無線局JS2IIU

【Python】パッケージ管理ツール「uv」の使い方

こんにちは、JS2IIUです。
Python開発における仮想環境構築は、プロジェクトごとに独立した依存関係を管理するために不可欠です。従来のvenvやpipに加え、近年では高速なパッケージマネージャ「uv」が注目を集めています。本記事では、uvの概要、類似ライブラリとの比較、具体的な環境構築手順、パッケージ管理手順についてみていきたいと思います。今回もよろしくお願いします。

GitHub - astral-sh/uv: An extremely fast Python package and project manager, written in Rust.
An extremely fast Python package and project manager, written in Rust. - astral-sh/uv

uvとは

uvは、Rustで開発された高速なPythonパッケージ管理およびプロジェクト管理ツールです。従来のpipやvenvと比較して、以下の点で優れたパフォーマンスを発揮します。

類似ライブラリとの比較

以下に、uvと類似するPythonパッケージ管理ライブラリの比較表を示します。

ライブラリ速度シンプルさクロスプラットフォームvenv互換性その他の特徴
uv非常に速いシンプル対応ありメモリ効率が良い
pip普通普通対応ありPython標準のパッケージマネージャ
poetry遅いやや複雑対応なし依存関係解決に優れ、プロジェクト管理機能が豊富
conda普通やや複雑対応なしPython以外のパッケージも管理可能、データサイエンス分野で広く利用

uv環境構築の具体的な手順

以下に、uvを用いたPython仮想環境の構築手順をステップごとに説明します。

1. uvのインストール

まず、以下のコマンドを実行してuvをインストールします。

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

このコマンドは、uvのインストールスクリプトをダウンロードし、実行します。インストールできたら以下のコマンドを実行します。

Bash
#  sh, bash, zsh
source $HOME/.local/bin/env
# fish
source $HOME/.local/bin/env.fish

2. プロジェクトディレクトリの作成と移動

次に、プロジェクト用のディレクトリを作成し、そのディレクトリに移動します。

Bash
mkdir myproject
cd myproject

3. 仮想環境の作成

uvを使用して仮想環境を作成します。以下のコマンドを実行してください。

Bash
uv venv

このコマンドを実行すると、プロジェクトディレクトリ内に「.venv」という名前の仮想環境が作成されます。venvを使っていた時と異なり、自動的にドットがついたフォルダ名で作成されるので注意が必要です。

4. 仮想環境のアクティベート

作成した仮想環境をアクティベートします。オペレーティングシステムによってコマンドが異なります。基本的にはvenvのアクティベートと同じです。

Bash
.\.venv\Scripts\activate
Bash
source ./.venv/bin/activate

仮想環境がアクティベートされると、コマンドプロンプトの先頭に仮想環境名が表示されます。

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

uvを使用してパッケージをインストールします。以下のコマンドを実行してください。

Bash
uv pip install パッケージ名

例:requestsパッケージをインストールする場合

Bash
uv pip install requests

6. 依存関係の管理

requirements.txtファイルを作成して依存関係を管理することも可能です。以下のコマンドを実行すると、インストールされているパッケージの一覧がrequirements.txtファイルに書き込まれます。

Bash
uv pip freeze > requirements.txt

7. 仮想環境からの退出

仮想環境から退出するには、以下のコマンドを実行します。

Bash
deactivate

uvによるPythonバージョン管理

Pythonプロジェクトを開発する際、特定のPythonバージョンが必要になる場合があります。uvは、簡単なコマンドでPythonのバージョンをインストールし、管理する機能を提供します。

1. Pythonバージョンのインストール

uvを使用して特定のPythonバージョンをインストールするには、以下のコマンドを実行します。

Bash
uv python install バージョン番号

例:Python 3.13をインストールする場合

Bash
uv python install 3.13

このコマンドを実行すると、指定されたバージョンのPythonがインストールされます。uvは、必要な依存関係も自動的に解決し、インストールします。

2 インストール済みPythonバージョンの確認

インストール済みのPythonバージョンを確認するには、以下のコマンドを実行します。

Bash
uv python list

このコマンドを実行すると、インストールされているPythonバージョンの一覧が表示されます。

3 Pythonバージョンの切り替え

プロジェクトで使用するPythonバージョンを切り替えるには、以下のコマンドを実行します。

Bash
uv venv --python バージョン番号

例:Python 3.13を使用する仮想環境を作成する場合

Bash
uv venv --python 3.13

このコマンドを実行すると、指定されたバージョンのPythonを使用する仮想環境が作成されます。

4 pyenvとの比較

Pythonのバージョン管理ツールとして有名なpyenvと比較すると、uvは以下の点で異なります。

pyenvは、歴史が長く、豊富な機能を持っていますが、uvはよりモダンで高速な代替手段と言えるでしょう。

5 注意点

uvのPythonバージョン管理機能を活用することで、プロジェクトごとに最適なPython環境を簡単に構築できます。

参考サイト

これらの情報を参考に、uvを導入し、快適なPython開発環境を構築してください。

最後に、書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。ぜひ手に取ってみてください。

最後まで読んでいただきありがとうございます。

モバイルバージョンを終了