コンテンツにスキップ

環境設定と使い方#

2024 iThome鉄人レース

これはDjango Ninjaシリーズチュートリアルの第6回です。

前回は、プロジェクト全体で使用するPython開発ツールについて説明しました。

この記事では、サンプルプロジェクトの環境設定についてステップバイステップで説明します。PythonやPoetryのインストール、プロジェクトのローカルへのclone、Python仮想環境の構築から、Djangoの起動までを行います。

これらのツールに触れたことがない方でも、この記事のガイドに従えば、スムーズに環境設定を完了して実行できるはずです。

なお、私は長年Macを使用しており、Windows環境にはあまり詳しくありませんが、可能な限り関連する代替案やガイダンスを提供します。

それでは、始めましょう!

GitHubサンプルプロジェクト#

👉 Django-Ninja-Tutorial


一、Python 3.12のインストール#

全員の環境でpyenvをインストールできるとは限らないため(特にWindowsは非対応)、ここではpyenvを使用しない代替案のみを説明します。

pyenvを使ってPythonをインストールしたい場合は、前回言及したチュートリアル記事を参考にしてください。

ここでは直接Python公式サイトからPython 3.12をダウンロードしてインストールします。

Windowsユーザー#

  1. Python公式のダウンロードページへ行き、Python 3.12のWindowsインストーラーをダウンロードします。
  2. ダウンロードしたインストーラーを実行し、「Add Python 3.12 to PATH」のオプションにチェックを入れるのを忘れないでください。
  3. インストール完了後、コマンドプロンプトを開き、python --versionと入力してインストールが成功したか確認します。

macOSユーザー#

macOSユーザーの場合、Python 3.12をインストールする方法がいくつかあります。

  1. pyenvを使用する:これが私が個人的に推奨する方法です。
  2. 同様に公式インストーラーを使用する:Python公式サイトからmacOS版のインストーラーをダウンロードし、指示に従ってインストールを完了させます。
  3. Homebrewを使用する:すでにHomebrewをインストールしている場合は、ターミナルでbrew install python@3.12を実行してPython 3.12をインストールできます。

インストール完了後、コマンドラインにpython3 --versionと入力してインストールが成功したか確認します。

どの方法でインストールしても、必ず上記のコマンドを通じてPythonのバージョンが正しいことを確認してください。3.12.xであれば大丈夫です

 python3 --version
Python 3.12.5

二、Poetryのインストールと設定#

プロジェクト内のすべてのPythonパッケージはPoetryによって管理されるため、まずPoetryをインストールする必要があります。公式コマンドを通じて直接インストールできます。(以下のコマンドはmacOSおよびLinuxユーザーに適用されます

curl -sSL <https://install.python-poetry.org> | python3 -

インストール完了後、Poetryの実行ファイルパスをシステムのPATHに追加します。(Zshユーザー

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Bashユーザー

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

インストールが成功したか確認します。

 poetry --version
Poetry (version 1.4.0)

WindowsでのPoetryのインストールと設定#

WindowsユーザーはJetBrainsのPoetry設定チュートリアルを参考にしてください。とても明確に書かれていると思います。

Poetryのconfigを変更し、.venv仮想環境を使用する#

デフォルトはfalseになっており、Poetryは独立したディレクトリに仮想環境を作成し、その名前は非常に長くなります!

trueに変更すると、プロジェクトのルートディレクトリに直接仮想環境が作成され、名前は固定で.venvになります。

poetry config virtualenvs.in-project true

仮想環境をプロジェクト内に配置するのは、私が個人的に好むやり方です。

Poetryを使用しない方法#

pipを使用したい読者のために、プロジェクト内にrequirements.txtを用意しています。Poetryのインストールや設定の面倒を省くことができます。


三、GitHubからのプロジェクトダウンロード、仮想環境の構築#

次はプロジェクト自体の設定です。

一、プロジェクトのClone#

これはプロジェクトのリンクです。git cloneコマンドを使用します。

git clone https://github.com/kyomind/Django-Ninja-Tutorial.git
# または
git clone git@github.com:kyomind/Django-Ninja-Tutorial.git

二、仮想環境の構築とパッケージのインストール#

プロジェクトディレクトリに入り、Poetryを使用して仮想環境を構築します。

poetry env use 3.12

この時、プロジェクトのルートディレクトリに.venvというフォルダが作成されるはずです。これがプロジェクトの仮想環境で、現在は空です

poetry shellを使用して仮想環境を起動します。

poetry installを通じてパッケージをインストールします。Poetryはpyproject.tomlpoetry.lockの内容に基づいて、プロジェクトに必要なすべてのパッケージを自動的にダウンロードしてインストールします。

pipユーザー#

pipユーザーは以下の手順で仮想環境を構築できます。(すべてプロジェクトのルートディレクトリで行います)

  1. Python組み込みのvenvモジュールを使用して仮想環境を構築します:python -m venv .venv
  2. 仮想環境を起動します。
    • Windows: .venv\Scripts\activate
    • macOS/Linux: source .venv/bin/activate
  3. パッケージをインストールします:pip install -r requirements.txt

四、pre-commitの初期化#

仮想環境を構築し、poetry installを使用した時点で、pre-commitパッケージはすでに仮想環境にインストールされています。

ご覧の通り、プロジェクト内には.pre-commit-config.yamlファイルがあります。このファイルはコミット前に毎回実行するチェック項目(Git Hooks)を定義しています。

以下のコマンドを実行するだけで、Git Hooksをインストールできます。

pre-commit install

このコマンドはプロジェクトのGitディレクトリにGit Hooksを作成します。プロジェクトごとに1回実行するだけで済みます


五、VS Code拡張機能のインストール#

IDEとしてVS Codeを使用している場合、RuffMypyという2つのVS Code拡張機能をインストールすることを強くお勧めします。これにより、現在のコードの状態(問題があるかどうか)を即座に把握できます。

プロジェクト内にはすでに関連する設定ファイルが存在するため、原則としてインストール後の設定は不要です。

  1. Ruff:pyproject.toml
  2. Mypy:mypy.ini(プロジェクトの最新の進捗ではすでにpyproject.tomlに統合されています)

さらに、これらはすべてCLIツールであるため、手動で実行することも可能です。例えばRuffのチェックを実行するには:

ruff check
ruff format

またはMypyのチェックを実行するには:

mypy .

それでも、VS Codeの拡張機能が最も便利です。


六、Djangoプロジェクトの起動#

必要なツールの設定がすべて完了したので、次にDjangoサーバーを起動します。

一、データベースのマイグレーションを実行#

これは最初になくてはならない手順です。

python manage.py migrate

実際、プロジェクトにはMakefileも用意されているため、以下のコマンドを通じてマイグレーションを実行することもできます。

make migrate

Makefileの概要と使い方については、小克氏の〈Web開発でもMakefileを使おう:環境ワークフローを適切に管理する〉を参考にしてください。

二、開発サーバーの起動#

以下のコマンドを実行してDjango開発サーバーを起動します。

python manage.py runserver
# または
make run

次に、ブラウザを開いてhttp://127.0.0.1:8000/にアクセスすると、Djangoのデフォルトのようこそ画面が表示されるはずです。これでプロジェクトが正常に起動したことがわかります!

Djangoデフォルトのようこそ画面


まとめ#

以上の手順を通じて、プロジェクトの開発環境設定を正常に完了し、サンプルのDjangoプロジェクトを起動することができました。

設定の過程で問題が発生した場合は、ツールの公式ドキュメントを参照するか、私のブログのチュートリアルを参考にしてください。これらのリソースは、よくある問題の解決や機能のさらなる理解に役立ちます。

プロジェクトのブランチとPR#

プロジェクトの開発プロセスでは、GitブランチとGitHubのPR(Pull requestsを使用して、異なる章のサンプルコードの変更を管理します。

これにより、学習の文脈を明確かつ整理された状態に保つことができ、異なる機能のコードが混ざることで理解に影響が出るのを防ぐことができます。

なお、概念の説明のみでコードの変更がない章もあるため、すべての記事に専用のブランチやPRがあるわけではないことに注意してください。


CodeGPTのおすすめ#

さらに、本プロジェクトのほとんどのコミットメッセージは、吳大が開発したCodeGPTとGPT-4o mini APIを組み合わせて自動生成されています。

CodeGPTによるコミットメッセージ

サンプルプロジェクトであっても、すべてのコミットメッセージの内容を考えるのは楽ではありません。このような自動化ツールがあると、本当に便利です!しかもスタイルの統一性が高いため、私のような完璧主義者には最適です☺️

CodeGPTについては、GitHubページに加えて、吳大氏の〈生成AI CodeGPTの開発経験談 - 台北ModernWeb〉も参考になります。発表スライドも共有されています。

使い方については、保哥氏の〈便利なツールCodeGPT:GPTでGitのコミットメッセージを自動生成する〉を参考にしてください。


これで準備はすべて整いました。Django Ninjaの世界に本格的に足を踏み入れましょう。