Yuta NakataのBlog

Python / AWS / ITについて役立つ情報を発信します

Pythonパッケージ管理ツール「uv」を始める

uvとは?

uvとは、pythonにおけるパッケージ管理ツールです。

2024年3月に公開されたツールです。

github.com

uvの何がいい?

uvは、Rust製であり、その最大の強みは速さです。

  • pyenv
  • pip
  • venv
  • poetry

に代わる新たなパッケージ管理ツールとして期待されています。

※余談ですが、Rust製の開発ツールは昨今、非常に盛り上がりがあり、開発も活発な印象があり、JS界隈だと、Oxcなども流行っている印象です。

uvのInstall

brewpipでインストール可能です。

今回は、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は完璧なソフトウェアではないため、他パッケージ管理ツールじゃないとできないこともあります。

その点も鑑みて、ぜひ技術検討に活かしてみてください。