Windows 11 + WSL2 + Ubuntu + Python + VS Code + GitHub + FastAPI の開発環境構築

Windows 11
WSL2 Ubuntu Python開発環境構築

おすすめ構成

Windows 11にWSL2を導入し、その中のUbuntuでPythonを開発します。

Windows 11 │ ├─ VS Code ├─ Android Studio ├─ Flutter ├─ Git │ └─ WSL2 └─ Ubuntu ├─ Python ├─ venv ├─ FastAPI ├─ Git └─ Docker

ポイント: Windows側とLinux側の役割を分けると、環境が分かりやすくなります。

1.最初に確認すること

1 WSL2がインストールされているか確認

WindowsのPowerShellを起動します。

PowerShellで実行
wsl --status

次に以下を実行します。

PowerShellで実行
wsl -l -v
項目 正常な状態
NAME Ubuntu
STATE Running または Stopped
VERSION 2
チェックポイント
「VERSION」が 2 ならWSL2です。

2.Ubuntuを起動

WindowsのスタートメニューからUbuntuを起動します。

またはPowerShellから起動できます。

PowerShellで実行
wsl

以下のような表示になればUbuntuに入っています。

username@PC:~$
チェック 確認内容
Ubuntuが起動する
Linuxのプロンプトが表示される
PowerShellではなくUbuntuになっている

3.Ubuntuを更新

① パッケージ情報を更新
sudo apt update

意味: Ubuntuが利用できるソフトウェアの情報を最新にします。

② インストール済みソフトを更新
sudo apt upgrade -y

意味: Ubuntuにインストールされているソフトウェアを更新します。

注意:
初回は少し時間がかかる場合があります。

4.開発に必要な基本ツールをインストール

以下をUbuntuで実行
sudo apt install -y build-essential curl wget git unzip zip

主な役割:

コマンド・ソフト 用途
build-essential プログラムのコンパイルなど
curl Web通信・インストールなど
wget ファイルのダウンロード
git GitHubとの連携
unzip ZIPファイルの解凍
zip ZIPファイルの作成

Gitを確認

Ubuntuで実行
git --version

「git version ・・・」と表示されればOKです。

5.Pythonをインストール

Ubuntuで実行
sudo apt install -y python3 python3-pip python3-venv python3-dev python-is-python3

Pythonを確認

① Pythonの確認
python --version
② pipの確認
pip3 --version
チェックポイント
Pythonのバージョンとpipのバージョンが表示されればOKです。
重要:
Pythonのパッケージは、基本的にプロジェクトごとのvenvにインストールします。 UbuntuのシステムPythonに直接大量のパッケージを入れることは避けてください。

6.Pythonプロジェクト用フォルダを作る

Ubuntu側にPythonプロジェクトを保存するフォルダを作ります。

① projectsフォルダを作る
mkdir -p ~/projects
② projectsへ移動
cd ~/projects
③ 現在の場所を確認
pwd

例えば以下のようになります。

/home/username/projects
おすすめ:
Pythonプロジェクトは /home/ユーザー名/projects など、WSL2 UbuntuのLinux側に保存します。

7.Pythonプロジェクトを作る

① プロジェクトを作る
mkdir fastapi_app
② プロジェクトへ移動
cd fastapi_app
③ 現在の場所を確認
pwd

例えば:

/home/username/projects/fastapi_app

8.Python仮想環境「venv」を作る

① 仮想環境を作る
python -m venv .venv

以下のようになります。

fastapi_app/ └── .venv/
② 仮想環境を有効にする
source .venv/bin/activate

成功すると、ターミナルの先頭に以下が表示されます。

(.venv) username@PC:~/projects/fastapi_app$
重要チェックポイント
(.venv) が表示されていることを確認してください。

9.pipを更新する

venvを有効にした状態で実行
python -m pip install --upgrade pip
注意:
このコマンドは必ず(.venv)が表示されている状態で実行してください。

10.FastAPIをインストール

venvを有効にした状態で実行
pip install fastapi uvicorn

インストールを確認します。

インストール済みパッケージを確認
pip list

fastapiuvicorn が表示されればOKです。

11.FastAPIのテストプログラムを作る

以下のファイルを作ります。

fastapi_app/ ├── .venv/ └── main.py
main.pyを作成
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を起動する

Ubuntuで実行
uvicorn main:app --reload

以下のような表示が出れば成功です。

Uvicorn running on http://127.0.0.1:8000

Windowsのブラウザで確認

Chromeなどを開いて、以下を入力します。

http://localhost:8000

以下が表示されれば成功です。

{"message":"Hello WSL2 Ubuntu"}

Swaggerを確認

http://localhost:8000/docs
ここまで成功すればOKです。

Windowsブラウザ

WSL2

Ubuntu

Python

FastAPI

13.FastAPIを停止する

FastAPIを起動したターミナルで、

サーバー停止
Ctrl + C

を押します。

14.VS CodeとWSL2を接続する

Windows側のVS CodeにWSL拡張機能をインストールします。

Ubuntu側でプロジェクトフォルダに移動します。

プロジェクトへ移動
cd ~/projects/fastapi_app
VS Codeを起動
code .
チェックポイント:
VS Codeの左下などに WSL: Ubuntu と表示されればOKです。

15.VS CodeのPythonを設定

VS Codeで以下を実行します。

VS Code
Ctrl + Shift + P

検索欄に以下を入力します。

Python: Select Interpreter

そして以下のPythonを選択します。

.venv/bin/python

例えば:

/home/username/projects/fastapi_app/.venv/bin/python

VS Codeのターミナルで確認

使用中のPythonを確認
which python

以下のようになればOKです。

/home/username/projects/fastapi_app/.venv/bin/python

16.Gitを設定する

GitHubを利用する場合は名前を設定します。

Gitの名前を設定
git config --global user.name "あなたの名前"
GitHubのメールアドレスを設定
git config --global user.email "あなたのメールアドレス"
設定を確認
git config --global --list

17.Git管理を開始する

プロジェクトフォルダで実行します。

Gitを初期化
git init

18..gitignoreを作る

GitHubにアップロードしたくないファイルを指定します。

.gitignoreを作成
nano .gitignore

以下を入力します。

.venv/
__pycache__/
*.pyc
.env
.vscode/
非常に重要

.envには、APIキー、パスワード、データベース情報などを保存する場合があります。

絶対にGitHubへ公開しないようにしてください。

19.requirements.txtを作る

現在インストールされているPythonパッケージを保存します。

requirements.txtを作成
pip freeze > requirements.txt

確認:

内容を確認
cat requirements.txt

20.GitHubへ登録する

① ファイルをGitに登録
git add .
② コミット
git commit -m "Initial commit"

GitHubで新しいリポジトリを作成した後、以下を実行します。

③ GitHubリポジトリを登録
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
④ mainブランチにする
git branch -M main
⑤ GitHubへアップロード
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 │ ├── Android Studio │ ├── Flutter │ ├── Android Emulator │ ├── Git │ └── WSL2 │ └── Ubuntu │ ├── Python │ └── .venv │ ├── FastAPI │ ├── Git │ └── Docker │ ├── PostgreSQL ├── Redis └── Nginx

おすすめの役割分担:

環境 使用するもの
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本番サーバー」 という構成へ発展させやすくなります。

コメント

人気の投稿