タイトル: プロジェクトの作成方法(Mac)
SEOタイトル: Mac で Django プロジェクト作成完全ガイド (venv / pip / runserver)
| この記事の要点 |
|
前提: Python と必要ツールの準備
Python のインストール状況確認
# Python 3.x の確認
python3 --version
# Python 3.12.x
# どこの Python か
which python3
# /usr/bin/python3 (macOS 標準) または
# /opt/homebrew/bin/python3 (Apple Silicon Homebrew) または
# /usr/local/bin/python3 (Intel Homebrew)
# pip も確認
pip3 --version
Homebrew で最新 Python (推奨)
macOS 標準 Python はバージョンが古く、システムが使うため触りたくありません。Homebrew で別途インストールするのが王道:
# Homebrew 未導入の場合
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Python インストール (最新安定版)
brew install python@3.12
# 確認
brew list python@3.12
python3.12 --version
Xcode Command Line Tools
Django や Python のビルド・C 拡張に必須:
xcode-select --install
# ダイアログが出たら「インストール」をクリック
# 既にインストール済かの確認
xcode-select -p
# /Library/Developer/CommandLineTools と出れば OK
1. プロジェクトディレクトリ作成と移動
mkdir ~/projects/myproject
cd ~/projects/myproject
2. 仮想環境 (venv) の作成
Python は同一マシンで複数プロジェクトを動かすと依存パッケージのバージョン衝突が起きます。必ずプロジェクト単位の仮想環境を使います:
# venv 作成 (.venv ディレクトリに作るのが慣習)
python3 -m venv .venv
# アクティベート (zsh / bash 共通)
source .venv/bin/activate
# プロンプトの先頭に (.venv) が付いたら有効
# (.venv) $
# 中の Python を確認
which python
# /Users/foo/projects/myproject/.venv/bin/python ← venv 内
# 抜けるとき
deactivate
3. pip の更新
# venv 内で pip を最新化
pip install --upgrade pip
# wheel / setuptools も最新に
pip install --upgrade pip wheel setuptools
4. Django インストール
# 最新版
pip install django
# LTS (長期サポート版、企業ユースに推奨)
pip install "django>=4.2,<5.0"
# 確認
django-admin --version
# 5.0.x または 4.2.x
# 依存パッケージの一覧
pip list
# Django 5.0.x
# asgiref 3.x
# sqlparse 0.x
5. Django プロジェクトの作成
# myproject という名前で生成 (現在のディレクトリ内に作る)
django-admin startproject myproject .
# ↑ 末尾の . でカレントディレクトリに展開。これがないと myproject/myproject/ の二重構造になる
# 構成
ls
# manage.py myproject/
ls myproject
# __init__.py asgi.py settings.py urls.py wsgi.py
6. 開発サーバ起動
# 開発サーバ起動 (デフォルト 127.0.0.1:8000)
python manage.py runserver
# 別ポート
python manage.py runserver 8080
# 外部からも接続したい (LAN 内)
python manage.py runserver 0.0.0.0:8000
ブラウザで http://127.0.0.1:8000/ を開き、「The install worked successfully! Congratulations!」のロケット画面が出れば成功。
7. データベースの初期化 (SQLite)
Django はデフォルトで SQLite を使い、ファイルは db.sqlite3 として作成されます:
# マイグレーション実行 (Django 内部テーブル作成)
python manage.py migrate
# Applying contenttypes.0001_initial... OK
# Applying auth.0001_initial... OK
# ...
# 管理者ユーザー作成
python manage.py createsuperuser
# Username: admin
# Email: admin@example.com
# Password: ********
# 管理画面 (/admin) にアクセスして確認
python manage.py runserver
# http://127.0.0.1:8000/admin
8. アプリの作成
Django では機能単位を「アプリ」と呼びます。プロジェクト内に複数のアプリを作るのが基本:
python manage.py startapp blog
# 構成
ls blog
# __init__.py admin.py apps.py migrations/ models.py tests.py views.py# myproject/settings.py の INSTALLED_APPS に追加
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"blog", # ← 追加
]
9. requirements.txt の作成
チームで共有したり本番にデプロイするため、依存パッケージを記録:
# 現在の venv の全パッケージを書き出し
pip freeze > requirements.txt
# 中身
cat requirements.txt
# Django==5.0.0
# asgiref==3.7.2
# sqlparse==0.4.4
# 別環境で再現
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
10. .gitignore
# .gitignore (Django プロジェクト用)
.venv/
__pycache__/
*.pyc
*.pyo
db.sqlite3
.env
media/
staticfiles/
.DS_Store
.idea/
.vscode/
Mac 固有のトラブル
SSL 証明書エラー
公式 Python.org インストーラーで入れた Python では、初回 pip install で SSL エラーが出ることがあります:
# 証明書バンドルをインストール
open "/Applications/Python 3.12/Install Certificates.command"
# または手動で
/Applications/Python\ 3.12/Install\ Certificates.command
# Homebrew Python では不要 (証明書は自動)
Apple Silicon (M1/M2/M3) での注意
- Homebrew のパスは
/opt/homebrew/(Intel Mac は/usr/local/) pip installで C 拡張のビルドエラー →brew install openssl libffiなど必要- Pillow / lxml / mysqlclient は arm64 ホイール対応済 (Python 3.10+ 推奨)
VSCode / PyCharm 連携
# VS Code を開く
code .
# Python インタプリタを venv に向ける
# Cmd+Shift+P → "Python: Select Interpreter" → .venv/bin/python を選択
# settings.json に書く場合
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.terminal.activateEnvironment": true
}
PyCharm では「Settings → Project → Python Interpreter → Add → Existing → .venv/bin/python」。
典型的なフォルダ構成 (完成形)
myproject/
├── .venv/ ← 仮想環境 (Git 管理外)
├── .gitignore
├── requirements.txt
├── manage.py
├── myproject/
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── blog/ ← アプリ
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations/
│ ├── models.py
│ ├── tests.py
│ ├── urls.py ← 追加
│ └── views.py
├── templates/ ← HTML テンプレ
└── static/ ← CSS/JS/画像
FAQ
Q: django-admin: command not found と出る
A: venv をアクティベートしていない。source .venv/bin/activate 後にプロンプトに (.venv) が付いていることを確認。
Q: 8000 番ポートが既に使われている
A: lsof -i :8000 でプロセス確認、kill -9 PID で停止。または python manage.py runserver 8080 で別ポート。
Q: SQLite ではなく PostgreSQL / MySQL を使いたい
A: pip install psycopg2-binary (PG) または pip install mysqlclient (MySQL) し、settings.py の DATABASES を変更。
Q: macOS のシステム Python (/usr/bin/python3) を使ってよい?
A: 非推奨。システムが使う Python を汚すと OS 不具合の原因に。Homebrew / pyenv で別途インストール推奨。
Q: pyenv は使うべき?
A: 複数 Python バージョンを切り替えたい場合に便利 (3.10 / 3.11 / 3.12 を案件ごとに使い分け)。brew install pyenv。