0
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?

【2026年版】uvでPython仮想環境を構築する|pip比10〜100倍高速

0
Posted at

はじめに

本記事では、uvを使ってPythonの仮想環境を構築し、
依存関係を管理する手順をまとめます。

uvはpipやvenvの代替として使えるツールで、
既存のPython開発フローをほぼそのままに、大幅な高速化が期待できます。

対象読者

  • Pythonの仮想環境管理をシンプルにしたい方
  • pip・venvからより高速なツールに乗り換えたい方

実行環境

項目 内容
OS Windows 11
Python 3.x

uvとは

uvはRustで書かれた高速なPythonパッケージ管理ツールで、
pipと比較して10〜100倍の速度向上が期待できます。 DataCamp

仮想環境の作成・依存関係の管理・Pythonバージョンの管理など、
Python開発に必要な機能を一つのツールでカバーしています。 GitHub

特徴 内容
速度 pip比で10〜100倍高速
言語 Rustで実装
互換性 pip・venv・pip-toolsのコマンドを置き換え可能
対応OS Windows / Linux / macOS

1. uvのインストール

推奨:スタンドアロンインストーラー(Windows)

PowerShellで以下を実行します。

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

代替:pipからインストール

pip install uv

インストール確認:

uv --version

バージョンが表示されれば完了です。


2. プロジェクトの作成

uv init <project_name>

実行後、以下の構成でディレクトリが作成されます。

<project_name>/
  ├── .gitignore        # git管理対象外ファイルの設定(自動生成)
  ├── .python-version   # プロジェクトで使用するPythonバージョン
  ├── README.md
  ├── main.py
  └── pyproject.toml    # プロジェクト設定・依存関係の定義ファイル

3. 依存関係の管理

パッケージの追加

uv add <package_name>

実行後、pyproject.tomluv.lockが自動的に更新されます。

パッケージの削除

uv remove <package_name>

依存関係の復元(別環境での再現)

uv sync

uv.lockをもとに、まったく同じ環境を再現します。


4. スクリプトの実行

仮想環境を明示的にアクティベートせずに実行できます。

uv run main.py

uvが自動で仮想環境の状態を確認し、必要に応じて依存関係を解決した上で実行します。


5. よく使うコマンド一覧

コマンド 説明
uv init <name> プロジェクトを作成
uv add <package> パッケージを追加
uv remove <package> パッケージを削除
uv sync 依存関係を復元
uv run <file> スクリプトを実行
uv pip install <package> pipライクな個別インストール

まとめ

uvを使うことで、仮想環境の作成・依存関係の管理・スクリプト実行を
一つのツールで完結させることができます。

pip + venv の組み合わせからの移行コストは低く、
既存のワークフローをほぼ変えずに高速化できる点が最大のメリットです。

0
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
0
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?