Ryeの中のuvを使う

uvにはまだ self update の機能がありません。 Homebrewにはすでにuvが追加されて頻繁にアップデートされているので、Homebrewユーザーは brew install uv がおすすめです。

Homebrewを使ってない環境でuvをインストールし手軽にアップデートするには 、rye install pipxbrew install pipx した上で pipx install uv するのがおすすめです。 Rye自体にも rye install コマンドはありますが、まだpipxほどは使い勝手がよくありません。 (pipx upgrade-all 相当ができない)

裏技として、Ryeでuvを有効にする(rye config --set-bool behavior.use-uv=true)とRyeの内部にuvもインストールされるので、それを直接使うこともできます。Ryeはuvほどではないものの頻繁にアップデートされ、self update機能(rye self update)もあるので、ryeのおまけでuvがアップデートされるのは便利です。rye fmt/rye lintが使っているruffにも同じテクニックが使えます。

$HOME/.rye/self というディレクトリが Ryeが内部に持っているPythonのvenvになっているので、その中のコマンドへPATHが通っているディレクトリからsymlinkを作ってやります。次の例では $HOME/.local/bin を使っています。

cd ~/.local/bin
ln ~/.rye/self/bin/uv
ln ~/.rye/self/bin/ruff

ryeの中にuvがインストールされるのはuvを有効にしたあと、一度でもrye addなどのコマンドを実行する必要があるのに注意が必要です。 試しにすでに0.25がインストールされてる状態で rye config --set-bool behavior.use-uv=true; rye self update してみたのですが、 uv はインストールされていませんでした。実際にryeのバージョンが上がるタイミングでは uv がインストールされるかもしれませんが、未確認です。

このブログに乗せているコードは引用を除き CC0 1.0 で提供します。