---
title: "Django のインストール方法"
version: 5.2
locale: ja
source: https://docs.djangoproject.com/ja/5.2/topics/install/
canonical: https://djangodocs.dev/ja/5.2/topics/install/
---
# Django のインストール方法

このドキュメントを読めば、Django をセットアップして、起動することができます。

## Python をインストールする

Django は Python のウェブフレームワークです。詳しくは [どのバージョンの Python で Django が使えますか?](/ja/5.2/faq/install/#faq-python-version-support) を参照してください。

最新版のPythonを <https://www.python.org/downloads/> もしくはOSのパッケージ管理ツールで取得してください。

> **Windows にインストールする**
>
> もし Windows を使っていてこれから Django を始めるなら、 [Windows での Django のインストール方法](/ja/5.2/howto/windows/) を読むとよいでしょう。

## Apache と `mod_wsgi` のインストール

もし単に Django を使って実験したいだけなら、このセクションは飛ばしてください。 Django には軽量 web サーバーが含まれており、テスト用にそれが使えます。本番環境にデプロイするときまで、 Apache をセットアップする必要はありません。

本番サイトで Django を使用する場合は、[Apache](https://httpd.apache.org/) と [mod\_wsgi](https://modwsgi.readthedocs.io/en/develop/) を使用します。mod\_wsgi は、埋め込みモードまたはデーモンモードの2つのモードのいずれかで動作します。埋め込みモードでは、mod\_wsgi は mod\_perl と似ています。つまり Apache に Python を埋め込み、サーバーの起動時に Python コードをメモリにロードします。コードは Apache プロセスの存続期間中、メモリに残ります。これにより、他のサーバー配置よりも大幅にパフォーマンスが向上します。デーモンモードでは、mod\_wsgi はリクエストを処理する独立したデーモンプロセスを生成します。デーモンプロセスはウェブサーバーとは異なるユーザーとして実行できるため、セキュリティが向上する可能性があります。デーモンプロセスは、Apache ウェブサーバー全体を再起動せずに再起動できるため、コードベースの更新がよりシームレスになります。mod\_wsgi のドキュメントを参照して、セットアップに適したモードを判断してください。mod\_wsgi モジュールをアクティブにして Apache がインストールされていることを確認してください。Django は、mod\_wsgi をサポートするすべてのバージョンの Apache で動作します。

インストール完了後の mod\_wsgi の設定方法に関する情報については、[Django を Apache と mod\_wsgi とともに使うには？](/ja/5.2/howto/deployment/wsgi/modwsgi/) を読んでください。

何らかの理由により mod\_wsgi が使えなかったとしても、心配はいりません。Django は他にもさまざまな開発オプションをサポートしています。そのうちの一つは [uWSGI](/ja/5.2/howto/deployment/wsgi/uwsgi/) で、[nginx](https://nginx.org/) と非常に上手く連携できます。さらに、Django は WSGI の仕様 ([**PEP 3333**](https://peps.python.org/pep-3333/)) を満たしているので、各種のサーバープラットフォーム上で動作することが保証されています。

## データベースを動かす

DjangoのデータベースAPI機能を使用する場合は、データベースサーバーが実行されていることを確認する必要があります。Djangoは多くの異なるデータベースサーバーをサポートし、 [PostgreSQL](https://www.postgresql.org/)、[MariaDB](https://mariadb.org/)、[MySQL](https://www.mysql.com/)、[Oracle](https://www.oracle.com/) および [SQLite](https://www.sqlite.org/) を公式にサポートしています。

もしあなたが開発しているプロジェクトが小規模なものか、あるいは本番環境にデプロイしないプロジェクトなら、通常は SQLite が最もよい選択肢です。というのは、SQLite 用にサーバーを動かす必要がないからです。しかし、SQLite は他のデータベースと色々な点で異なります。そのため、もし何か重要なプロジェクトを作る場合は、本番環境で使うデータベースと同じものを使うことを推奨します。

公式にサポートされているデータベースの他に、 [サードパーティ製のバックエンド](/ja/5.2/ref/databases/#third-party-notes) もあります（これらを使うと、他のデータベースを Django から使えます）。

SQLite 以外のデータベースを使用する場合、適切な Python データベースバインディングをインストールする必要があります。

- もし PostgreSQL を使うなら、[psycopg](https://www.psycopg.org/psycopg3/) または [psycopg2](https://www.psycopg.org/) パッケージが必要になります。詳細は [PostgreSQL に関するノート](/ja/5.2/ref/databases/#postgresql-notes) を見てください。
- MySQL や MariaDB を使うなら、 `mysqlclient` のような [DB API ドライバー](/ja/5.2/ref/databases/#mysql-db-api-drivers) が必要になります。詳細は [MySQL に関するノート](/ja/5.2/ref/databases/#mysql-notes) を見てください。
- SQLite を使うなら、 [SQLite に関するノート](/ja/5.2/ref/databases/#sqlite-notes) を読むと良いでしょう。
- Oracleを使用している場合は、 [oracledb](https://oracle.github.io/python-oracledb/) をインストールする必要がありますが、サポートされている Oracle と `oracledb` のバージョンの詳細については [Oracle に関するノート](/ja/5.2/ref/databases/#oracle-notes) を参照してください。
- もし非公式のサードパーティ製バックエンドを使う場合、その他の動作要件についてはそのドキュメントを確認してください。

また、[`DATABASES`](/ja/5.2/ref/settings/#std-setting-DATABASES) 辞書の `'default'` 項目内の次のキーが、データベース接続設定と一致していることを確認してください:

- [`ENGINE`](/ja/5.2/ref/settings/#std-setting-DATABASE-ENGINE) -- `'django.db.backends.sqlite3'`、 `'django.db.backends.postgresql'`、 `'django.db.backends.mysql'` または `'django.db.backends.oracle'` のいずれかにします。[その他のバックエンド](/ja/5.2/ref/databases/#third-party-notes) も利用可能です。
- [`NAME`](/ja/5.2/ref/settings/#std-setting-NAME) -- データベースの名前を指定します。SQLite を使用している場合、データベースはコンピュータ上のファイルになります。その場合、`NAME` にはファイル名を含む完全な絶対パスを指定してください。事前に何かを作成する必要はありません。データベースファイルは必要に応じて自動的に作成されます。デフォルト値である `BASE_DIR / 'db.sqlite3'` は、プロジェクトディレクトリ内にファイルを保存します。

> **SQLite 以外のデータベースの場合**
>
> データベースとして SQLite を使っていない場合、 [`USER`](/ja/5.2/ref/settings/#std-setting-USER) や [`PASSWORD`](/ja/5.2/ref/settings/#std-setting-PASSWORD) そして [`HOST`](/ja/5.2/ref/settings/#std-setting-HOST) などの追加設定を加える必要があります。詳細については [`DATABASES`](/ja/5.2/ref/settings/#std-setting-DATABASES) のリファレンスドキュメントを参照してください。
>
> また、この時点でデータベースを作成していることを確認してください。データベースの対話型プロンプト内で、次のように入力して作成します: `CREATE DATABASE database_name;`

もし Django の `manage.py migrate` コマンドを使って自動的にデータベースのテーブルを作る (Django のインストールとプロジェクト作成のあとに) つもりなら、そのデータベースに対して Django が create table, alter table のパーミッションを持つ必要があります。一方、手動でテーブルを作るつもりなら、 Django に対して `SELECT`、`INSERT`、`UPDATE`、`DELETE` のパーミッションを与えます。これらのパーミッションを付与してデータベースユーザを作成したあと、プロジェクトの設定ファイルで詳細を指定することになります。詳細については [`DATABASES`](/ja/5.2/ref/settings/#std-setting-DATABASES) を見てください。

データベースのクエリをテストするために Django の [テスト フレームワーク](/ja/5.2/topics/testing/) を使う場合、テスト用データベースを作成するためのパーミッションが Django に必要です。

## Django コードをインストールする

インストール手順は特定ディストリビューションのパッケージ、最新公式リリースのダウンロード、最新の開発バージョンなど、インストール対象によって少し異なります。

### `pip` を使用して公式リリースをインストールする

これが Django をインストールするおすすめの方法です。

1. [pip](https://pip.pypa.io/) をインストールします。最も簡単なのは、[スタンドアローンの pip インストーラー](https://pip.pypa.io/en/latest/installation/) を使う方法です。もしディストリビューションにすでにインストール済みの `pip` があり、バージョンが古い場合は、pip をアップデートする必要があるかもしれません。古い場合は、インストールが機能しないためわかるはずです。
2. [venv](https://docs.python.org/3/tutorial/venv.html) を一読してください。このツールは隔離された Python 環境を提供します。隔離された環境は、システム全体にパッケージをインストールするより実用的です。また、管理者権限なしでもパッケージをインストールできます。[Djangoへの貢献に関するチュートリアル](/ja/5.2/intro/contributing/) では、仮想環境を作成する方法について説明しています。
3. 仮想環境を作成してアクティブ化したら、次のコマンドを入力します。

   ```console
   $ python -m pip install Django
   ```

   *Windows*

   ```doscon
   ...\> py -m pip install Django
   ```

### 特定ディストリビューション向けのパッケージをインストールする

[ディストリビューション固有のメモ](/ja/5.2/misc/distributions/) を読み、プラットフォームやディストリビューションが公式の Django パッケージやインストーラーを提供しているかどうか確認してください。ディストリビューションが提供するパッケージは、依存関係や対応アップグレードパスの自動インストールが可能になることが多いですが、Django の最新リリースが含まれていることは稀です。

### 開発バージョンをインストールする

> **Django の開発をトラッキングする**
>
> 最新の開発版の Django を使うことを決めた場合、[開発タイムライン](https://code.djangoproject.com/timeline) に十分注意を払い、[次のリリースに向けたリリースノート](/ja/5.2/releases/#development-release-notes) を常に目を向けることをおすすめします。こうすることで、使いたくなるかもしれない最新の新機能や、手元の Django のコピーを更新するときに変更する必要があるコードを追いかけるのに役立ちます。(安定リリースでは、必要な変更の全てはリリースノートにドキュメントが書かれます。)

最新のバグ修正や改善を反映して、Django コードを定期的にアップデートできるようにしたい場合は、以下の指示に従ってください。

1. [Git](https://git-scm.com/) がインストールされていて、シェルからコマンドを実行できることをを確認する。(これをテストするには、シェルのプロンプトに `git help` と入力します。)
2. 次のように、Django の main 開発ブランチをチェックアウトする。

   ```console
   $ git clone https://github.com/django/django.git
   ```

   *Windows*

   ```doscon
   ...\> git clone https://github.com/django/django.git
   ```

   これにより、ディレクトリ `django` が現在のディレクトリ内に作成されます。
3. Python インタープリタが Django のコードを読み込めることを確認する。これを行う最も便利な方法は、仮想環境と [pip](https://pip.pypa.io/) を使用することです。[コントリビューターのチュートリアル](/ja/5.2/intro/contributing/) では、仮想環境の作成方法を説明しています。
4. セットアップして仮想環境を有効化した後、以下のコマンドを実行する。

   ```console
   $ python -m pip install -e django/
   ```

   *Windows*

   ```doscon
   ...\> py -m pip install -e django\
   ```

   これにより、Django のコードがインポート可能になり、`django-admin` ユーティリティコマンドも利用できるようになります。言い換えれば、準備完了です！

Django のソースコードのコピーをアップデートしたいときは、`django` ディレクトリ内で `git pull` コマンドを実行してください。これを行うと、Git はすべての変更をダウンロードします。
