uvを使ったPython開発環境の構築

ソフトウェア

uvは、Python本体の管理、仮想環境の作成、パッケージ管理を1つで行えるツールです。本記事では、新しいプロジェクトの作成から、別のPCで同じ開発環境を再現する方法までを紹介します。

uvをインストール

今回、Windows環境で行いました。

PowerShellを開き、以下のコマンドを実行します。

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

インストール後はPowerShellを一度閉じて開きなおしてください。

uvが利用できることを確認します。

uv

ヘルプが表示されればインストールは完了です。

新しいプロジェクトを作成

プロジェクトを作成します。例えば、プロジェクト名をtest、使用するPythonのバージョンを3.12に指定する場合は、以下のようになります。

uv init test --python 3.12

–pythonの指定は必須ではありません。指定した場合は、.python-versionpyproject.tomlに反映されます。

Pythonのバージョンを指定しない場合は、uvの設定や環境に応じたPythonが使用されます。

作成されるフォルダ構成は次のようになります。

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

作成したプロジェクトフォルダに移動します。

cd test

プロジェクトごとにライブラリを分離して管理するため、仮想環境を作成します。

uv venv

.venvフォルダが作成されます。

なお、uv adduv syncを実行した場合も、仮想環境が存在しなければ自動的に作成されます。

ライブラリを追加します。

uv add requests

この例ではHTTP通信ライブラリのrequestsをインストールしています。

uv addを使用すると、ライブラリがインストールされるだけでなく、pyproject.tomlに追加され、uv.lockも自動的に更新されます。そのため、別のPCではuv syncを実行するだけで、同じ開発環境を再現できます。

インストール済みのライブラリを確認

uv pip list

依存関係の構造を確認

uv tree

プログラムを実行

uv run python main.py

uv runを使用すると、プロジェクトの仮想環境を利用してプログラムを実行できます。

別のPCで環境を再現する

プロジェクトフォルダをGitやZIPなどで共有します。

project/
├── .python-version
├── pyproject.toml
├── uv.lock
├── ...
  • .python-version : プロジェクトで使用するPythonのバージョンを記録します。
  • pyproject.toml : プロジェクトで使用するライブラリの情報を管理します。
  • uv.lock : インストールするライブラリや依存ライブラリのバージョンを固定します。

.venv(仮想環境)は共有する必要ありません。別のPCでuv syncを実行すると、自動的に作成されます。

.python-versionに指定されたPythonがインストールされていない場合は、必要なバージョンのPythonをインストールします。

uv python install

その後、以下のコマンドを実行します。

uv sync

uv syncは、pyproject.tomluv.lockをもとに、必要なライブラリと依存ライブラリをインストールし、仮想環境(.venv)を作成します。

これにより、別のPCでも同じ開発環境を再現できます。

タイトルとURLをコピーしました