uvというツールの存在を知ったので使ってみた。

pip・poetry・virtualenvなどの置き換えが可能で、高速に動く。
Pythonのバージョンや、Pythonプロジェクトの管理もできる。
スクリプトのインストールも可能で、uvから実行することも可能。
と言う感じなので、最近のパッケージ管理系ツールのいいところ全部入りという感じ。

インストール

macを使っていれば、Homebrewでインストールできる。

brew install uv

また、shellのオートコンプリートにも対応しているので、ついでに設定しておくとよい。

# fishの場合
echo 'uv generate-shell-completion fish | source' >> ~/.config/fish/config.fish

Pythonのインストールと管理

uv python install 3.12

ツールのインストールと実行

uvxコマンドを使用する
このとき、まだインストールされていないツールが実行された場合は、自動でインストールされる。

uvx pycowsay hello from uv

プロジェクトの作成・実行

initコマンドを使用する
これを実行すると、pyproject.tomlや.venvなど必要なものが作成される。
また、インストールされたライブラリのバーションはuv.lockに記録される。

# 新規作成
uv init my_project

# 既存のディレクトリをuvで管理する
cd /path/to/my_project
uv init