uv¶
FastAPI の前に Python 開発環境を整える。
uv のインストール¶
基本的には uv を使ってセットアップしていく。
uv はインストールが必要なので、 https://docs.astral.sh/uv/getting-started/installation/ にある通りにインストールしておく。
- macOS を使ってるなら下記のコマンドを実行
- インストールできたか確認
プロジェクトの作成と初期化¶
uv が使えるようになったら、プロジェクトフォルダを作成して移動しておく。
プロジェクトの初期化
初期化後は下記のファイルとディレクトリが作成される
Note
もし、 Git で管理しないプロジェクトなら .git ディレクトリを削除しておけば OK 。
Python パッケージのインストール例¶
これ以降は uv コマンドを使って Python パッケージをインストールする。 FastAPI をインストールしてみる。
仮想環境を有効化しなくても OK
python コマンドとか、 uv で追加したパッケージのコマンドを実行する時は、 uv run を先頭につければ実行できる。
パッケージを追加すると、 pyproject.toml が更新されて、 uv.lock が作成されるので、この 2 つのファイルもソースコードと一緒に GitHub とかにあげておけば、他の人が同じ環境を構築するときとか、デプロイするサーバーに同じ環境を構築するときに使える。
uv sync コマンド
uv sync コマンドを使うと、 pyproject.toml のパッケージ一覧を元に、 uv.lock の内容を反映した仮想環境を構築できるので、 uv さえインストールしておけば同じ環境を構築できる。
キャッシュ¶
uv はダウンロードしたパッケージやビルド済みの wheel を、プロジェクト横断の共有キャッシュに貯めておいて、 2 回目以降のインストールを速くしてる。場所は uv cache dir で確認できる: cf. Caching
使ってるうちに地味に大きくなるので、サイズが気になったら du で見られる。
uv cache size は実験的
uv cache size でもサイズ(バイト数)が見られるけど、これは実験的(preview)なコマンドで、実行すると「experimental and may change without warning」っていう警告が出る。
uv cache prune を使うと、もう使われていない古いキャッシュだけを安全に掃除できる(今の環境で参照してるものは残る)。
% uv cache prune
Pruning cache at: .cache/uv
Removed 30986 files (635.2MiB)
% du -sh $(uv cache dir)
1.6G /Users/alice/.cache/uv
全部消すなら uv cache clean
uv cache prune は不要なものだけを消すけど、 uv cache clean はキャッシュを丸ごと全部消す。特定のパッケージだけ消したいときは uv cache clean <パッケージ名> でいい。