これはなに

uvを初めて使ったときのメモ。
環境

- Windows 11 WSL2 Ubuntu 24.04
- uv 0.9.4
導入

Linuxなので下記コマンドで導入した。
curl -LsSf https://astral.sh/uv/install.sh | sh再起動後、uv --versionでバージョンが表示されれば成功。
$ uv --version
uv 0.9.4uv自体をアップグレードしておく。
uv self updateシェルの自動補完を有効にしておく。
echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc
source ~/.bashrc初期化

もともと使いたいプロジェクトのディレクトリがある場合、そこに移動してuvの初期化する。
cd my-projectアプリケーションプロジェクトなら--appオプション、ライブラリプロジェクトなら--libオプションをつけて初期化する。
# アプリケーションプロジェクト
uv init --app my-app
# ライブラリプロジェクト
uv init --lib my-lib実行すると、いくつかファイルが生成される。アプリケーションとライブラリで生成されるファイルが異なる。
どちらでも最低限のpyproject.tomlが生成されるのは便利。
Pythonのインストール

uvでは複数のPythonバージョンをインストールできる。
uv python install 3.10 3.14インストールされているPythonバージョンは下記で確認できる。
uv python listこうやってコマンドひとつでインストールできるのは便利。
プロジェクトで使うPythonバージョンの設定

各プロジェクトで使うPythonバージョンは下記コマンドで設定できる。
uv python pin 3.10設定されているPythonのバージョンは、.python-versionファイルに保存される。
3.10pyproject.tomlに書かれた最低バージョンよりも低いバージョンはピン留めできないので、pyproject.tomlを編集してからピン留めする必要がある。
仮想環境の作成

プロジェクトの仮想環境は下記コマンドで作成できる。
uv venv実行すると、.venvディレクトリが作成される。作成速度が爆速ですごい。
仮想環境のアクティベートは下記コマンドでできる。
source .venv/bin/activateただし、uvは仮想環境をアクティベートせずとも、uv runを使えば仮想環境内で実行できる。
uv run main.pyVS Codeの場合は、Pythonの拡張機能が.venvを自動で認識してアクティベートしてくれるので、特に意識しなくても良い。
パッケージのインストール

uvではuv addコマンドでパッケージをインストールできる。
uv add numpy開発でのみ使うパッケージは--devオプションをつける。
uv add --dev pytestアンインストールはuv removeコマンド。
uv remove numpy環境の更新

uv syncで、最新の状態に環境を同期できる。
uv syncこれを利用すると、Pythonのバージョンを簡単に変えられる。
uv python pin 3.11
uv syncパッケージ作るときとか新しいバージョンで動作を見たいときとかに便利。
venvの仮想環境も自動で再作成される。この再生性の速度が爆速ですごい。
自作パッケージを入れる

自作パッケージを入れたい場合は、uv add --editableコマンドを使う。
uv add --dev --editable ..はカレントディレクトリを意味する。これで自作パッケージを開発モードでインストールできる。
