PR

【備忘録】Pythonの超高速パッケージマネージャー「uv」の導入からプロジェクト立ち上げ・実行までの基本フロー

Python

uv 導入備忘録

Pythonプロジェクトの立ち上げから実行までの基本フロー (Rye後継)

💡 uvとは? Ryeと同じAstral社が開発する、Rust製の超高速Pythonパッケージ&プロジェクトマネージャーです。現在、新規プロジェクトではRyeよりもuvの使用が公式に推奨されています。
1

uvのインストール

お使いのOSに合わせてuvをインストールします。

macOS / Linux

ターミナルで以下のコマンドを実行します。

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

Windows (PowerShell)

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

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
⚠️ 注意
インストール後はパスを反映させるため、一度ターミナルを再起動してください。
2

プロジェクトの初期化(+MITライセンス設定)

新しいプロジェクト用のディレクトリを作成し、初期化します。

# my-project は任意のプロジェクト名に変更してください uv init my-project cd my-project

GitHub公開に向けたMITライセンスの設定

作成された pyproject.toml を開き、[project] セクションにライセンス情報を追記します。

[project] name = "my-project" version = "0.1.0" license = { text = "MIT" } # この行を追記

※合わせて、プロジェクト直下に LICENSE という名前でMITライセンスの雛形ファイルを作成・配置しておきます。

3

Pythonバージョンの指定 任意

プロジェクトで使用するPythonのバージョンを固定(Pin)します。システム側のPythonバージョンに依存せず、uvが必要なバージョンを自動で取得します。

# 例: Python 3.12 を指定する場合 (.python-versionファイルが生成されます) uv python pin 3.12
4

依存パッケージの追加

プロジェクトに必要な外部ライブラリを追加します。pyproject.toml への要件追記が行われます。

通常パッケージを追加

uv add requests

開発用パッケージを追加

uv add --dev pytest
5

環境の同期(パッケージのインストール)

パッケージを瞬時にダウンロードし、プロジェクト専用の仮想環境(.venv)を構築します。環境の再現性を担保する uv.lock ファイルが生成・更新されます。

uv sync
💡 補足
uvでは uv add コマンドを実行した時点で自動的に同期(インストール)も行われるため、手動編集をした場合などに明示的に uv sync を実行します。
6

プロジェクトの実行

仮想環境を手動でアクティベートしなくても、uv run 経由で安全かつ高速にスクリプトやツールを実行できます。

Pythonスクリプトを実行する

uv run python hello.py

追加した開発用ツールを実行する

# 例: pytestを実行する場合 uv run pytest

おまけ:既存のRyeプロジェクトをuvに移行する手順

Ryeとuvはどちらも標準的な pyproject.toml に対応しているため、移行は非常に簡単です。以下の手順でシームレスにuv環境へ切り替えることができます。

  1. 不要なファイルの削除(クリーンアップ)
    Ryeが生成した古い仮想環境とロックファイルを削除します。
    # Mac/Linuxの場合 rm -rf .venv requirements.lock requirements-dev.lock
  2. uvで環境を再構築・同期
    既存の pyproject.toml の依存関係を自動で読み取り、新しい環境を構築します。
    uv sync
  3. 実行確認
    エラーが出なければ移行完了です!今後は uv runuv add でプロジェクトを管理します。

コメント

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