1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonのパッケージマネージャー「uv」を使ってみた

1
Last updated at Posted at 2026-07-17

概要

Pythonの仮想環境としてvenvを使用していましたが、興味本位で、パッケージ管理・仮想環境構築・Pythonバージョン管理までこなせるツール「uv」を導入してみました。実際に使ってみたところ、pipと比べてパッケージのインストールが圧倒的に速く、スペックの低い環境でも快適に作業できたため、今後はメインで使っていきたいと感じました。

環境準備

今回は検証用にdockerで環境を作成しました。
もちろんMacやWindowsでもインストール可能です。

# Dockerfileの内容
FROM almalinux:10.2

RUN dnf update -y

RUN echo "alias ls='ls --color=auto'" >> ~/.bashrc

WORKDIR /app

CMD [ "/bin/bash" ]

イメージをビルド

docker build -t alma10 .
docker images
IMAGE                                      ID             DISK USAGE   CONTENT SIZE   EXTRA
alma10:latest                              1337e382fc2f        395MB          109MB

コンテナ作成

docker run -it --rm -h uv_test -p 127.0.0.1:8888:8888 alma10:latest /bin/bash

インストール方法

公式ページに記載通りの手順でインストールしていきます。
LinuxもしくはMacでは以下を実施するだけでインストールできます。
Windowsの方は、公式ページにインストール方法が掲載されているので、そちらを参照ください。

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

インストールされたか確認

uv --version
uv 0.11.29 (x86_64-unknown-linux-gnu)

インストール手順

主な使い方

新規プロジェクトを作成する

# uv init [projectname]
uv init workspaces
Initialized project `workspaces` at `/app/workspaces`

カレントディレクトリに作成する場合

uv init

仮想環境作成

uv venv [name]

[name]を省略すると.venvで作成されます。

ライブラリ追加・削除

例. pandasを追加する場合

uv add pandas

インストール済みライブラリ確認

uv pip list
Package         Version
--------------- -----------
numpy           2.5.1
pandas          3.0.3
python-dateutil 2.9.0.post0
six             1.17.0

ライブラリの詳細情報確認

uv pip show pandas
Name: pandas
Version: 3.0.3
Location: /app/workspaces/.venv/lib/python3.12/site-packages
Requires: numpy, python-dateutil
Required-by:

ライブラリ削除

uv remove pandas

実行

実行する際はuv runで実行します。

uv run [filename]

例1. main.pyを実行する場合

uv run main.py
Hello from workspaces!

例2. jupyterlabを使用する場合
※事前にuv add jupyterlabでインストールしておきます

uv run jupyter lab --allow-root --ip=0.0.0.0

パッケージの同期

pyproject.tomlの内容をもとにパッケージをインストールします

uv sync

まとめ

venvからの移行という位置づけで uv を試してみましたが、コマンドが直感的で、venvを使ったことがあれば迷うことはほとんどありませんでした。特にライブラリのインストールが体感できるレベルで速く、pyproject.tomluv.lockに依存関係が自動で記録されるため、環境の再現も簡単です。

今回は基本的な使い方のみでしたが、uv には uv python によるPythonバージョン管理や、uv tool でのCLIツール管理など、まだ試せていない機能も多くあります。今後はこれらも活用しながら、メインのパッケージ管理ツールとして使っていこうと思います。

公式ページ

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?