VS Codeでuvを使ってDjango開発を始める方法
本記事では VS Code 環境を前提に、uv の基礎知識と導入メリットを整理します。
はじめに
Python × Django の開発では「仮想環境+依存パッケージ管理」がまず悩みどころです。
従来は python -m venv → pip install → pip-toolsのように段階的にツールを切り替える必要がありました。さらに VS Code 側では *Python Interpreter* のパスを毎プロジェクト設定し直す手間が発生していました。
2024 年に Astral が公開したuvを使うと、これらを1 コマンドで高速・一括管理できます。
本記事では VS Code 環境を前提に、uv の基礎知識と導入メリットを整理します。
uvとは
uv は Rust 製の Python パッケージ&プロジェクトマネージャーです。
- 位置付けは pip/pip-tools/virtualenv/pipx/pyenv/poetry/twine を 全部まとめて置き換えるワンストップ CLI。コマンド体系は
uv pip installやuv venvなど pip と互換性が高く、既存スクリプトをほぼ書き換えずに差し替えられます。 - 解決エンジンは Rust の並列処理で書き直されており、依存解決とインストールが 10〜100 倍高速です。
- すべての環境で共有される グローバルキャッシュ を採用しているため、同じパッケージ・バージョンは 1 度しかダウンロードされません。ハードリンク/コピーオンライトによりディスク容量の重複もゼロに抑えられます。
uv.lock(プラットフォーム非依存ロックファイル)を軸に 完全再現性 を保証。uv pip syncでロックに合わせて環境を“整合”させられるので CI/CD でも「動いた環境」をそのまま持ち込めます。
uvを使うメリット
1. 高速な速度
pip install -r requirements.txt が数分かかるプロジェクトでも、uv ならキャッシュヒット時は速く終わります。依存解決もインストールも Rust で並列化されており、ネットワーク帯域を食わずに一気に展開できるからです。
2. ツールチェーンの“肥大化”から解放される
uv では uv さえ覚えれば仮想環境の生成・依存ロック・Python バージョン切替・PyPI への発行 までワンライナーで完結します。VS Code でも .venv 内の Python を選ぶだけで認識され、設定ファイルは最小限です。
3. 再現性が担保されたまま依存を“足したり戻したり”できる
requirements.txt を人手編集すると依存爆発を起こしがちですが、uv では uv pip add django-extensions のように “足す”コマンド、uv pip remove のように “引く”コマンド があり、実行するたび uv.lock が即時更新されます。ロックファイルをコミットすれば、チームメンバーや CI が uv pip sync で 100 % 同じ環境 を再現可能です。
4. ディスクとネットワークを食わない
パッケージは一度グローバルキャッシュに落ちれば、以降は各仮想環境に ハードリンク で展開されるだけ。Mac / Linux いずれも“実体が 1 コピー”なので、たくさんの Django プロジェクトを抱えるマシンでもストレージを圧迫しません。ダウンロード回数も減るため、オフライン環境へのデプロイでも威力を発揮します。
5. 既存ワークフローに段階的に導入できる
pip 互換サブコマンドのおかげで、まずは pip install を uv pip install に置き換えるだけ という導入が可能です。動作に差異がないことを確認したら uv venv や uv pip compile へ広げる、といったスモールスタートがとれます。
uvのインストール手順(Windows)
では、実際にuvをインストールしていきます。
まずPowerShellを開いて、以下のコマンドを入力してください。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
以下のコマンドで環境変数を設定します
$env:Path = "C:\Users\[ユーザー名]\.local\bin;$env:Path"uvがインストールされたかどうかを確認します。
uv --version
uvを使ってvscodeでDjangoの環境構築
vscodeでターミナルを開き、以下のコマンドを入力してください
uv init
これで以下の2つが自動生成されます
pyproject.toml(依存関係管理ファイル).venv(仮想環境ディレクトリ、※自動作成)
次にDjangoを追加していきます。
uv add djangoこれが pip install django と同等です。
インストール後、pyproject.toml に自動で追記されます。

次にDjangoプロジェクトを作成していきます。
以下のコマンドを入力してください。
uv run django-admin startproject apl .最後の . は「このフォルダに直接作る」という意味。
これを忘れると apl/apl/manage.py のような二重構造になります。
アプリのディレクトリ名と同じ名前にするとよいです。
開発サーバーを起動していきます。
uv run python manage.py runserverブラウザで「http://127.0.0.1:8000/」を開けば、Djangoのウェルカムページが表示されます。

おわりに
uv を使うことで、従来の「venv を切って pip で入れて lock を作って…」という処理をたった 1 つの CLI に統合し、高速・省容量・再現性 を同時に提供してくれるのが最大の魅力です。
また導入する際の障壁はきわめて低いので、まずはサイドプロジェクトや新規アプリで試してみると良いかもしれません。
