uv
目次
概要
Pythonのバージョン管理、パッケージ管理ツール
Rustで実装されている
機能も十分でかつPythonから独立しているため、いろいろ考慮する事が減る。
公式サイト
GitHub : https://github.com/astral-sh/uv
マニュアル: https://docs.astral.sh/uv/
インストール
Pythonの存在しない環境でのインストールの場合だけメモしている。他の方法はマニュアル等を参照
コマンド
curl -LsSf https://astral.sh/uv/install.sh | sh
uv --version
通常は以下にインストールされる
$HOME/.local/bin
cargoなどが存在する場合以下にインストールされる場合もある
$CARGO_HOME/bin
$HOME/.cargo/bin
バイナリ
curl -LO https://github.com/astral-sh/uv/releases/download/0.7.12/uv-x86_64-apple-darwin.tar.gz
tar xvf uv-x86_64-apple-darwin.tar.gz
mkdir -p ~/opt/uv/bin
mv uv-x86_64-apple-darwin/uv* ~/opt/uv/bin
~/opt/uv/bin/uv -V
~/opt/uv/bin/uvx -V
brew
brew install uv
uv --version
Pythonインストール
インストール可能バージョン確認
uv python list
インストール
# インストール
uv python install 3.13.4
# インストール結果確認
uv python list
# インストール先例(Mac環境等のデフォルト)
${HOME}/.local/share/uv/python
venv
# uv vnev <名前> -p <バージョン>
uv venv py3.13.4 -p 3.13.4
# 有効化
source py3.13.4/bin/activate
パッケージ
pyproject.toml が存在する環境では pip コマンドは利用しないようにします
パッケージインストール
有効化しているvenvの下にインストールされます
venvを利用してない場合に関しては、未確認
uv add ruff
旧環境から移行する場合のライブラリ同期
pyproject.toml が存在しないような場合、pip を利用します
uv pip list
uv pip freeze
uv --color never pip freeze > requirements.txt
uv pip freeze | uv pip compile - -o requirements.txt
uv pip sync requirements.txt
更新候補
uv tree --outdated -d 1
