uv

リンク

概要

  • pipやpoetry、pyenvやvirtualenvなどを置き換えるもの
  • これ1つで様々なものを置き換えられる
    • ライブラリなどの管理、プロジェクトの作成、Pythonのインストールなど
  • Rustで作られていて高速

機能

Pythonバージョン管理

  • Pythonの各種バージョンをインストールできる
  • pyenvなどでやっていたもの

スクリプト

  • pythonのプログラムを実行する
  • 依存関係を引数で指定することで、それをtmpディレクトリ?にインストールして使えるようにしてくれる
    • ひとまずの実行とかで便利そう
  • スクリプトの依存関係のメタデータをファイルに追加出来る

プロジェクト管理

  • プロジェクトを作成したり、ライブラリを追加したりする

ビルド

  • whlファイルやgzファイルを作成する

ツール

  • 単独で利用できるようにライブラリをインストールする
  • uvxはuvx tool runを実際にはやっているらしい
  • Ruffなどをツールで入れれば、環境にインストールして単独で使える
    • ruffコマンドが使えるということ

pip

  • pipとの互換性?を考えて、pipのコマンドを使えるようにしてある
  • uv pip freeze > requirements.txtが作れるとか

ユーティリティ

  • キャッシュのクリアや設定など
  • その他設定
  • uv自体のアップデート