#はじめに
Window10 home上にDjangoの開発環境を構築する方法を纏めます。
#構成
ホストOS: Windows10 Home(x64、21H1)
ゲストOS: WSL2上にUbuntu 20.04.3 LTSをインストール
IDE: Visual Source Code 1.63.2
Python: Python 3.8.10
仮想環境: venv
フレームワーク: Django 4.0.1
#WSL2、Ubuntuインストール
-
WSL2、Ubuntuのインストール
PowerShellで以下コマンドを実行する。これでWSL2とUbuntuがインストールされる。powershellwsl --install
-
Ubuntuのアップデート
Ubuntuコンソールで以下を実行して、Ubuntuをアップデートする。bashsudo apt update && sudo apt upgrade
1. pipのインストール
```bash:bash
sudo apt install python3-pip
```
--- 以下の設定は任意 ---
* WSL2の最大メモリ設定
エクスプローラで%USERPROFILE%を開き「.wslconfig」ファイルを新規作成する。
```ini:.wslconfig
[wsl2]
memory=4GB
```
.wslconfigの設定を反映するにはWSL2の再起動が必要なため、**PowerShell**で`wsl.exe --shutdown`を実行する。
Ubuntuのコンソールを開き、`free -h`でメモリの割り当て状況を確認する。
以下の例では、Memのtotalが3.8Giになっているので正しく反映されている。
```:free結果
total used free shared buff/cache available
Mem: 3.8Gi 435Mi 1.7Gi 0.0Ki 1.8Gi 3.2Gi
Swap: 1.0Gi 0B 1.0Gi
```
* WindowsTerminalのインストール
[こちら](https://dev.classmethod.jp/articles/linux-beginner-wsl2-windowsterminal-setup/)のページを参考に設定した。
#仮想環境(venv)のインストール
Django以外の環境と共存させる為に、venvの仮想環境上にDjango環境を構築する。
1. venvインストール
```bash:bash
apt install python3.8-venv
```
1. プロジェクトフォルダ作成
```bash:bash
mkdir HelloWorld
cd HelloWorld
1. 仮想環境作成
```bash:bash
python3 -m venv .venv
source .venv/bin/activate
```
activate実行後に以下の様にシェルの先頭が`(.venv)`となっていれば仮想環境に入れている。
```bash:bash
(.venv) hoge@hoge:$~/HelloWorld
```
仮想環境から抜けるには以下を実行する。
```bash:bash
deactivate
```
#Visual Studio Codeの設定
1. Remote-WSL 拡張機能をインストールする。
1. 上で作ったプロジェクトフォルダ上で以下コマンドを実行し、WSL2上のVSCodeリモートサーバーを起動する。
```bash:bash
code .
```
VSCodeが起動し、左下のインジケーターに`WSL:Ubuntu`と表示されればWSL2上のリモートサーバーに接続できている。
1. ubuntu用のPython拡張機能をインストールする。
Windows側に入っているPython拡張機能とは別にWSL2側にPython拡張機能をインストールする必要がある。
VSCodeの拡張機能ウィンドウで**Python機能拡張**をインストールする。
#Djangoのインストール
1. 仮想環境を有効にする。
VSCodeのコンソールで以下コマンドを事項し、仮想環境に入る。Djangoは仮想環境内にインストールする。
```bash:bash
source .venv/bin/activate
```
1. Djangoのインストール
```bash:bash
python3 -m pip install django
```
1. Djangoプロジェクトの生成
```bash:bash
django-admin startproject web_project .
```
成功するとプロジェクトフォルダ下に`manage.py`、`web_projectフォルダ`が作成される。
1. Django開発サーバーの起動
```bash:bash
python3 manage.py runserver
```
`Starting development server at http://127.0.0.1:8000/`と表示されたらサーバー起動成功。
ブラウザで`http://127.0.0.1:8000/`を開いてDjangoの規定のページが表示さえれば正常動作している。
# 参考にしたサイト
* [Windows で Web 開発に Python を使用する](https://docs.microsoft.com/ja-jp/windows/python/web-frameworks)
* [Linux初心者がWSL2とWindows Terminalのセットアップをやってみた](https://dev.classmethod.jp/articles/linux-beginner-wsl2-windowsterminal-setup/)