uvを初めて使ったときのメモ

これはなに Link to this heading

uvを初めて使ったときのメモ。

環境 Link to this heading

  • Windows 11 WSL2 Ubuntu 24.04
  • uv 0.9.4

導入 Link to this heading

Linuxなので下記コマンドで導入した。

curl -LsSf https://astral.sh/uv/install.sh | sh

再起動後、uv --versionでバージョンが表示されれば成功。

$ uv --version
uv 0.9.4

uv自体をアップグレードしておく。

uv self update

シェルの自動補完を有効にしておく。

echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc
source ~/.bashrc

初期化 Link to this heading

もともと使いたいプロジェクトのディレクトリがある場合、そこに移動してuvの初期化する。

cd my-project

アプリケーションプロジェクトなら--appオプション、ライブラリプロジェクトなら--libオプションをつけて初期化する。

# アプリケーションプロジェクト
uv init --app my-app

# ライブラリプロジェクト
uv init --lib my-lib

実行すると、いくつかファイルが生成される。アプリケーションとライブラリで生成されるファイルが異なる。 どちらでも最低限のpyproject.tomlが生成されるのは便利。

Pythonのインストール Link to this heading

uvでは複数のPythonバージョンをインストールできる。

uv python install 3.10 3.14

インストールされているPythonバージョンは下記で確認できる。

uv python list

こうやってコマンドひとつでインストールできるのは便利。

プロジェクトで使うPythonバージョンの設定 Link to this heading

各プロジェクトで使うPythonバージョンは下記コマンドで設定できる。

uv python pin 3.10

設定されているPythonのバージョンは、.python-versionファイルに保存される。

.python-version
3.10

pyproject.tomlに書かれた最低バージョンよりも低いバージョンはピン留めできないので、pyproject.tomlを編集してからピン留めする必要がある。

仮想環境の作成 Link to this heading

プロジェクトの仮想環境は下記コマンドで作成できる。

uv venv

実行すると、.venvディレクトリが作成される。作成速度が爆速ですごい。

仮想環境のアクティベートは下記コマンドでできる。

source .venv/bin/activate

ただし、uvは仮想環境をアクティベートせずとも、uv runを使えば仮想環境内で実行できる。

uv run main.py

VS Codeの場合は、Pythonの拡張機能が.venvを自動で認識してアクティベートしてくれるので、特に意識しなくても良い。

パッケージのインストール Link to this heading

uvではuv addコマンドでパッケージをインストールできる。

uv add numpy

開発でのみ使うパッケージは--devオプションをつける。

uv add --dev pytest

アンインストールはuv removeコマンド。

uv remove numpy

環境の更新 Link to this heading

uv syncで、最新の状態に環境を同期できる。

uv sync

これを利用すると、Pythonのバージョンを簡単に変えられる。

uv python pin 3.11
uv sync

パッケージ作るときとか新しいバージョンで動作を見たいときとかに便利。 venvの仮想環境も自動で再作成される。この再生性の速度が爆速ですごい。

自作パッケージを入れる Link to this heading

自作パッケージを入れたい場合は、uv add --editableコマンドを使う。

uv add --dev --editable .

.はカレントディレクトリを意味する。これで自作パッケージを開発モードでインストールできる。

参考文献・URL Link to this heading

GitHub - astral-sh/uv: An extremely fast Python package and project manager, written in Rust. image

GitHub - astral-sh/uv: An extremely fast Python package and project manager, written in Rust.

An extremely fast Python package and project manager, written in Rust. - astral-sh/uv

github.com favicon image github.com
uv image

uv

uv is an extremely fast Python package and project manager, written in Rust.

docs.astral.sh favicon image docs.astral.sh
Installing and managing Python | uv image

Installing and managing Python | uv

A guide to using uv to install Python, including requesting specific versions, automatic installation, viewing installed versions, and more.

docs.astral.sh favicon image docs.astral.sh
Licensed under CC BY-NC-SA 4.0
最終更新 10月 20, 2025
Hugo で構築されています。
テーマ StackJimmy によって設計されています。