uvとは?
uvとは、pythonにおけるパッケージ管理ツールです。
2024年3月に公開されたツールです。
uvの何がいい?
uvは、Rust製であり、その最大の強みは速さです。
- pyenv
- pip
- venv
- poetry
に代わる新たなパッケージ管理ツールとして期待されています。
※余談ですが、Rust製の開発ツールは昨今、非常に盛り上がりがあり、開発も活発な印象があり、JS界隈だと、Oxcなども流行っている印象です。
uvのInstall
brew
やpip
でインストール可能です。
今回は、brewでinstallします。
brew install uv
% uv --version uv 0.6.10 (Homebrew 2025-03-26)
インストールが完了しました。
uvのHow to
爆速が売りのuvなので、pipと比較してみます。
今回installするライブラリは下記とします。
requests pandas numpy matplotlib scipy scikit-learn flask
機械学習を用いたAPI開発や描画ができそうなライブラリ群ですね。
まずは、pipでやってみましょう。
python -m venv venv-pip source venv-pip/bin/activate time pip install -r requirements.txt deactivate
実行結果、、、
pip install -r requirements.txt 11.88s user 2.77s system 50% cpu 29.131 total
続いて、uvを使ってみます。
uv venv venv-uv source venv-uv/bin/activate time uv pip install -r requirements.txt deactivate
結果は、、
uv pip install -r requirements.txt 1.96s
約10倍の差が出ました、、、!
早い、、早すぎる。感動しました。
uvにおすすめのケース・おすすめしないケース
噂に違わぬ、爆速でしたuv。
では、ユースケースを振り返りましょう。
一般論に近いですが、ユースケースは下記の通りかと思います。
- おすすめされるケース
- 速度重視でpipに不満がある場合
- 推奨されないケース
- 他ツールに依存している
- 特殊な要件がある
また、まだまだuvは完璧なソフトウェアではないため、他パッケージ管理ツールじゃないとできないこともあります。
その点も鑑みて、ぜひ技術検討に活かしてみてください。