Windows 11 + WSL2 + Ubuntu + Python + VS Code + GitHub + FastAPI の開発環境構築
Windows 11
WSL2 Ubuntu Python開発環境構築
Windows 11にWSL2を導入し、その中のUbuntuでPythonを開発します。
ポイント: Windows側とLinux側の役割を分けると、環境が分かりやすくなります。
1.最初に確認すること
1 WSL2がインストールされているか確認
WindowsのPowerShellを起動します。
wsl --status
次に以下を実行します。
wsl -l -v
| 項目 | 正常な状態 |
|---|---|
| NAME | Ubuntu |
| STATE | Running または Stopped |
| VERSION | 2 |
「VERSION」が 2 ならWSL2です。
2.Ubuntuを起動
WindowsのスタートメニューからUbuntuを起動します。
またはPowerShellから起動できます。
wsl
以下のような表示になればUbuntuに入っています。
| チェック | 確認内容 |
|---|---|
| □ | Ubuntuが起動する |
| □ | Linuxのプロンプトが表示される |
| □ | PowerShellではなくUbuntuになっている |
3.Ubuntuを更新
sudo apt update
意味: Ubuntuが利用できるソフトウェアの情報を最新にします。
sudo apt upgrade -y
意味: Ubuntuにインストールされているソフトウェアを更新します。
初回は少し時間がかかる場合があります。
4.開発に必要な基本ツールをインストール
sudo apt install -y build-essential curl wget git unzip zip
主な役割:
| コマンド・ソフト | 用途 |
|---|---|
| build-essential | プログラムのコンパイルなど |
| curl | Web通信・インストールなど |
| wget | ファイルのダウンロード |
| git | GitHubとの連携 |
| unzip | ZIPファイルの解凍 |
| zip | ZIPファイルの作成 |
Gitを確認
git --version
「git version ・・・」と表示されればOKです。
5.Pythonをインストール
sudo apt install -y python3 python3-pip python3-venv python3-dev python-is-python3
Pythonを確認
python --version
pip3 --version
Pythonのバージョンとpipのバージョンが表示されればOKです。
Pythonのパッケージは、基本的にプロジェクトごとのvenvにインストールします。 UbuntuのシステムPythonに直接大量のパッケージを入れることは避けてください。
6.Pythonプロジェクト用フォルダを作る
Ubuntu側にPythonプロジェクトを保存するフォルダを作ります。
mkdir -p ~/projects
cd ~/projects
pwd
例えば以下のようになります。
Pythonプロジェクトは /home/ユーザー名/projects など、WSL2 UbuntuのLinux側に保存します。
7.Pythonプロジェクトを作る
mkdir fastapi_app
cd fastapi_app
pwd
例えば:
8.Python仮想環境「venv」を作る
python -m venv .venv
以下のようになります。
source .venv/bin/activate
成功すると、ターミナルの先頭に以下が表示されます。
(.venv) が表示されていることを確認してください。
9.pipを更新する
python -m pip install --upgrade pip
このコマンドは必ず(.venv)が表示されている状態で実行してください。
10.FastAPIをインストール
pip install fastapi uvicorn
インストールを確認します。
pip list
fastapi と uvicorn が表示されればOKです。
11.FastAPIのテストプログラムを作る
以下のファイルを作ります。
nano main.py
以下を入力します。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello WSL2 Ubuntu"}
nanoを保存する方法:
| キー | 操作 |
|---|---|
| Ctrl + O | 保存 |
| Enter | ファイル名を確定 |
| Ctrl + X | nanoを終了 |
12.FastAPIを起動する
uvicorn main:app --reload
以下のような表示が出れば成功です。
Windowsのブラウザで確認
Chromeなどを開いて、以下を入力します。
以下が表示されれば成功です。
Swaggerを確認
Windowsブラウザ
↓
WSL2
↓
Ubuntu
↓
Python
↓
FastAPI
13.FastAPIを停止する
FastAPIを起動したターミナルで、
Ctrl + C
を押します。
14.VS CodeとWSL2を接続する
Windows側のVS CodeにWSL拡張機能をインストールします。
Ubuntu側でプロジェクトフォルダに移動します。
cd ~/projects/fastapi_app
code .
VS Codeの左下などに WSL: Ubuntu と表示されればOKです。
15.VS CodeのPythonを設定
VS Codeで以下を実行します。
Ctrl + Shift + P
検索欄に以下を入力します。
そして以下のPythonを選択します。
例えば:
VS Codeのターミナルで確認
which python
以下のようになればOKです。
16.Gitを設定する
GitHubを利用する場合は名前を設定します。
git config --global user.name "あなたの名前"
git config --global user.email "あなたのメールアドレス"
git config --global --list
17.Git管理を開始する
プロジェクトフォルダで実行します。
git init
18..gitignoreを作る
GitHubにアップロードしたくないファイルを指定します。
nano .gitignore
以下を入力します。
.venv/ __pycache__/ *.pyc .env .vscode/
.envには、APIキー、パスワード、データベース情報などを保存する場合があります。
絶対にGitHubへ公開しないようにしてください。
19.requirements.txtを作る
現在インストールされているPythonパッケージを保存します。
pip freeze > requirements.txt
確認:
cat requirements.txt
20.GitHubへ登録する
git add .
git commit -m "Initial commit"
GitHubで新しいリポジトリを作成した後、以下を実行します。
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
git branch -M main
git push -u origin main
21.Windows側とLinux側の違い
| Windows | WSL2 Ubuntu |
|---|---|
| C:\dev\project | /home/ユーザー名/projects/project |
| PowerShell | bash |
| python.exe | python |
| C:\Users\... | /home/ユーザー名/... |
| Windowsアプリ | Linuxアプリ |
WSL2 UbuntuでPython開発する場合、プロジェクトはできるだけ /home/ユーザー名/projects/ に置いてください。
22.よく使うLinuxコマンド
| コマンド | 意味 | 使用例 |
|---|---|---|
| pwd | 現在の場所を表示 | pwd |
| ls | ファイル一覧を見る | ls |
| cd | フォルダを移動 | cd projects |
| cd .. | 1つ上へ移動 | cd .. |
| mkdir | フォルダを作る | mkdir test |
| touch | ファイルを作る | touch test.py |
| rm | ファイルを削除 | rm test.py |
| cp | コピーする | cp a.py b.py |
| mv | 移動・名前変更 | mv a.py b.py |
| cat | ファイル内容を見る | cat requirements.txt |
| clear | 画面をきれいにする | clear |
| sudo | 管理者権限で実行 | sudo apt update |
23.Python開発でよく使うコマンド
| やりたいこと | コマンド |
|---|---|
| Python確認 | python --version |
| 仮想環境作成 | python -m venv .venv |
| 仮想環境開始 | source .venv/bin/activate |
| 仮想環境終了 | deactivate |
| パッケージインストール | pip install パッケージ名 |
| パッケージ一覧 | pip list |
| requirements作成 | pip freeze > requirements.txt |
| requirementsからインストール | pip install -r requirements.txt |
| FastAPI起動 | uvicorn main:app --reload |
24.重要な注意事項
| 重要度 | 注意事項 |
|---|---|
| ★★★★★ | Pythonプロジェクトは基本的にWSL2のLinux側に保存する |
| ★★★★★ | Pythonパッケージはvenvを使ってインストールする |
| ★★★★★ | .venvをGitHubにアップロードしない |
| ★★★★★ | .envをGitHubにアップロードしない |
| ★★★★★ | VS CodeのPython InterpreterがWSL2側か確認する |
| ★★★★☆ | WindowsのPythonとUbuntuのPythonを混同しない |
| ★★★★☆ | UbuntuのシステムPythonをむやみに変更しない |
| ★★★☆☆ | 本番サーバーでは開発用の--reloadを使用しない |
25.最終チェックポイント
| チェック | 項目 | 確認方法 |
|---|---|---|
| □ | WSL2 | wsl -l -vでVERSION=2 |
| □ | Ubuntu | Ubuntuが起動する |
| □ | Python | python --version |
| □ | pip | pip3 --version |
| □ | venv | (.venv)が表示される |
| □ | FastAPI | pip listで確認 |
| □ | FastAPI起動 | uvicorn main:app --reload |
| □ | ブラウザ | http://localhost:8000 |
| □ | Swagger | http://localhost:8000/docs |
| □ | VS Code | WSL: Ubuntu |
| □ | Python Interpreter | .venv/bin/python |
| □ | Git | git --version |
| □ | GitHub | git pushでアップロード |
26.最終的なおすすめ環境
おすすめの役割分担:
| 環境 | 使用するもの |
|---|---|
| Windows 11 | VS Code / Flutter / Android Studio / Android Emulator |
| WSL2 Ubuntu | Python / FastAPI / Django / Git |
| Docker | PostgreSQL / Redis / Nginxなど |
| GitHub | ソースコード管理・バックアップ |
| 本番Ubuntu | Docker / Nginx / FastAPI / PostgreSQL |
Windows 11
↓
VS Code
↓
WSL2
↓
Ubuntu
↓
Python + venv
↓
FastAPI
↓
Git / GitHub
↓
Docker
↓
PostgreSQL
この構成にしておけば、将来的に 「Flutter → FastAPI → PostgreSQL → Docker → Ubuntu本番サーバー」 という構成へ発展させやすくなります。
コメント