🐡
いまさらだが uv に入門してみた
uv ってなんだろう
An extremely fast Python package and project manager, written in Rust.
って書いてあるから、つまり Rust で作っためっちゃ早い Python のパッケージマネージャだ。
え、すごそうってなったから、早速インストールしてみる
インストール
$ brew install uv
これでインストールできるっぽい。
$ uv --version
uv 0.5.18 (Homebrew 2025-01-11)
やった!!
簡単に使ってみる
uv init python-uv-sample
これをやると
$ tree .
.
├── README.md
├── hello.py
└── pyproject.toml
0 directories, 3 files
こんな感じで生成される。
$ uv run hello.py
Hello from python-uv-sample!
という具合に、hello.py
を実行することができる。
バージョンの指定
$ uv python install 3.10
$ uv python pin 3.10
を指定すれば、.python-version
ファイルを作成してくれて、
そのディレクトリ配下で利用するpythonバージョンを指定することができる。
仮想環境の追加
$ uv venv --python 3.10
Using CPython 3.10.16
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
ってでてくるので、このコマンドで良い感じ。
パッケージの追加
追加はどのようにしていけば良いのだろうか
$ uv add ruff
Resolved 2 packages in 424ms
Prepared 1 package in 248ms
Installed 1 package in 2ms
+ ruff==0.9.1
これで行けるらしい。
$ cat pyproject.toml
[project]
name = "python-uv-sample"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"ruff>=0.9.1",
]****
ruff が依存関係に入ってきた。いえーい✌️
$ uv run ruff check
All checks passed!
パッケージのコマンドもこれで動いてくれた。素晴らしい。
まとめ
使い始めるのに、あまり迷わずにいけた。
monorepo とかで良い感じにd毛いるかも知りたいので、これからもうちょっと深掘りしてみよう!
Discussion