VS Codeでuvを使ってDjango開発を始める方法

logo_Python

本記事では VS Code 環境を前提に、uv の基礎知識と導入メリットを整理します。

目次

はじめに

Python × Django の開発では「仮想環境+依存パッケージ管理」がまず悩みどころです。

従来は python -m venvpip installpip-toolsのように段階的にツールを切り替える必要がありました。さらに VS Code 側では *Python Interpreter* のパスを毎プロジェクト設定し直す手間が発生していました。

2024 年に Astral が公開したuvを使うと、これらを1 コマンドで高速・一括管理できます。

本記事では VS Code 環境を前提に、uv の基礎知識と導入メリットを整理します。

uvとは

uv は Rust 製の Python パッケージ&プロジェクトマネージャーです。

  • 位置付けは pippip-toolsvirtualenvpipxpyenvpoetrytwine全部まとめて置き換えるワンストップ CLI。コマンド体系は uv pip installuv 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 sync100 % 同じ環境 を再現可能です。

4. ディスクとネットワークを食わない

パッケージは一度グローバルキャッシュに落ちれば、以降は各仮想環境に ハードリンク で展開されるだけ。Mac / Linux いずれも“実体が 1 コピー”なので、たくさんの Django プロジェクトを抱えるマシンでもストレージを圧迫しません。ダウンロード回数も減るため、オフライン環境へのデプロイでも威力を発揮します。

5. 既存ワークフローに段階的に導入できる

pip 互換サブコマンドのおかげで、まずは pip installuv pip install に置き換えるだけ という導入が可能です。動作に差異がないことを確認したら uv venvuv 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 に統合し、高速・省容量・再現性 を同時に提供してくれるのが最大の魅力です。

また導入する際の障壁はきわめて低いので、まずはサイドプロジェクトや新規アプリで試してみると良いかもしれません。

CTA
  • URLをコピーしました!
  • URLをコピーしました!
この記事を書いた人
目次