はじめに
この記事では、環境を分離してDjangoの開発環境を整える方法をまとめます。
この記事は、【エラーは友達】Django基礎ハンズオン(2019/01開催)の環境構築参考記事です。
ハンズオンではDjango Girls Tutorialをベースにブログアプリを作ります。
一緒に手を動かしてエラーを解決するハンズオンを通して、Djangoを使った開発でつまづかない状態を目指します。
2019/04/30
pip installのバージョン指定について修正・Anacondaでの開発環境の有効化について追記しました。
前提
- お使いのPCに**Python 3系(3.5以降)**がインストールされていることを前提にしています。
- この記事ではDjango2.1系をインストールします。
- PCのOSはWindowsまたはmacOSを想定しています。
- この記事に書かれているコマンドはすべてコマンドラインで実行してください。(コマンドプロンプトやターミナルを操作していきます)
- コマンドライン操作に慣れている場合、10分程度で環境構築が完了する見込みです。
- この記事ではpyenvに関しては扱いません。
- 筆者は普段venvを使って環境を分離し、Web開発や機械学習のプログラムを書いています。Anacondaは触ったことがある程度ですので、誤りがありましたらご指摘いただけますと大変助かります。
環境を分離するとは
環境を分離してDjangoの開発環境を整えることをオススメします。
一般に、Webアプリの開発では、アプリケーションごとに異なるバージョンのパッケージ1を使うことになります。
1台のPCで複数のバージョンのDjangoを使い分けることは、環境を分離することで実現できます。
(環境を分離することで、Django1.11系を使った開発も、Django 2.1系を使った開発も、1台のPCで行えるということです)
環境を分離する方法は、Pythonをインストールした方法で異なると考えています。
- Python公式サイトからインストールした場合:venvモジュールを使って仮想環境を構築します
- Anacondaをインストールした場合:
conda
コマンドを使って環境を分離します
ハンズオンではerrorfriends
ディレクトリの中でWebアプリケーションを開発します。
コマンドライン(Windowsではコマンドプロンプト2、macOSではターミナル)を起動して、次のコマンドを1行ずつ実行してください。
(ホームディレクトリ直下にerrorfriends
ディレクトリを作ります)
mkdir errorfriends
cd errorfriends
Python公式サイトからインストールした場合
手順は以下の3つです。
- 仮想環境を作る
- 仮想環境を有効にする
- Djangoをインストールする
仮想環境を作る
venvモジュールを使ってerrorfriends
ディレクトリの中に仮想環境を作ります。
仮想環境には名前をつけられるので、myvenv
という名前にします。
Django Girls TutorialのDjangoのインストールをベースに進めます。
- Windowsの場合:
python -m venv myvenv
- macOSの場合:
python3 -m venv myvenv
3
仮想環境を有効にする
仮想環境が作成されたら、次のコマンドで有効にします。
- Windowsの場合:
myvenv\Scripts\activate
- macOSの場合:
source myvenv/bin/activate
または. myvenv/bin/activate
仮想環境を有効にすると、コマンドラインの行の先頭に(myvenv)
と仮想環境の名前が表示されます。
Djangoをインストールする
仮想環境を有効にしたあとは、Djangoをインストールしましょう。
パッケージの管理(インストールなど)はpip
コマンドで行います。
pip
のバージョンを最新にしてから、Djangoをインストールします。4(1行ずつ実行してください)
修正(2019/04/30)
pip install Django~=2.1
からpip install Django~=2.1.5
に修正
Django 2.2がリリースされた現在、pip install Django~=2.1
ではDjango 2.2系が入ってしまうため。
(2.xの最新が入る指定をしていたことに気づき、2.1.xが入るように修正したということです)
~=
の解釈の参考: https://packaging.python.org/tutorials/installing-packages/#installing-from-pypi
pip install --upgrade pip
pip install Django~=2.1.5
Djangoがインストールされたことを確認しましょう。
python -m django --version
インストールされたDjangoのバージョンが表示されます。(例:2.1.5)
開発する際に仮想環境を有効にする方法
コマンドラインを閉じて新しく起動すると仮想環境から抜けてしまいます。
再度有効にするには、仮想環境を作ったディレクトリに移動し、仮想環境を有効にします。
Windowsの例(1行ずつ実行してください)
cd errorfriends
myvenv\Scripts\activate
macOSの例(1行ずつ実行してください)
cd errorfriends
source myvenv/bin/activate
Anacondaをインストールした場合
手順は以下の3つです。
- Django開発用の環境を作る
- Django開発用の環境を有効にする
- Djangoをインストールする
Django開発用の環境を作る
errorfriends
ディレクトリの中で作業を進めていきます。(Python公式サイトからインストールした場合と作業ディレクトリを揃えるために実施します)
python.jpのConda コマンドを参考にしています。
Django開発用環境ではPython3.7系が使えるようにします。
名前はmyvenv
とします。
conda create -n myvenv python=3.7
(もし、Python3.7系が使えない場合はPython3.6系を、Python3.6系も使えない場合はPython3.5系を使ってください)
Django開発用の環境を有効にする
Django開発用環境myvenv
に切り替えます。
activate myvenv
環境を有効にすると、コマンドラインの行の先頭に(myvenv)
と環境の名前が表示されます。
追記(2019/4/30)
activate myvenv
でエラーが出る場合はconda activate myvenv
を試してみてください
Djangoをインストールする
Anacondaでは、パッケージの管理(インストールなど)はconda
コマンドで行います。5
conda install django=2.1
Anacondaが管理しているパッケージの中からDjango2.1系がインストールされます。
もし万が一、AnacondaのバージョンによってはDjango2.1系が見つからないというような場合はdjango=2.0
として実行してください。
(ハンズオンではDjango2.0系以上で動作するコードを使います)
Djangoがインストールされたことを確認しましょう。
python -m django --version
インストールされたDjangoのバージョンが表示されます。
終わりに
私の考えるDjangoの環境構築手順は次のようになります。
- PythonをPython公式サイトからインストールしている場合、venvモジュールを使って仮想環境を構築し、
pip
でDjangoをインストール - Anacondaをインストールしている場合、
conda
コマンドを使って環境の分離 & Djangoをインストール
【エラーは友達】Django基礎ハンズオンでは、この記事で構築した環境でブログアプリを開発していきます。
この記事の手順でお気づきのことがある場合は、コメントや@ftnextまでお知らせいただけると大変ありがたいです。
補足:Pythonのインストール
もしPythonのインストールから必要という方に対して、この記事では2つの方法を紹介します。
- Python公式サイトからダウンロードしてインストールする
- Anacondaをインストールする
PythonでWeb開発をしたいという場合、1と仮想環境で十分行えます。
Pythonでデータ分析や機械学習をしたいという場合、2が紹介されることが多い印象です。
python.jpの「環境構築ガイド」の手順が詳しいので、そちらを案内します。
リンクの手順を参考にPythonをインストールしてみてください。
Python公式サイトからインストールする
- Windowsの方はこちら:Windows 環境のPython
- macOSの方はこちら:macOS環境のPython
Anacondaをインストールする
Anacondaは、Pythonとデータサイエンスで使うパッケージがまとまったものと理解しています。
Anacondaをインストールすることで、Pythonが使えるようになります。
- Windowsの方はこちら:Windows 版のインストール
- macOSの方はこちら:MacOS 版のインストール
以上です。
-
Pythonには数多くのパッケージがあります(ライブラリとも呼ばれるようです)。Djangoもパッケージの一つです。パッケージはお手元のPCにインストールすることで開発で使えるようになります。Web開発で使われるパッケージにはDjangoの他に、FlaskやTornadoなどがあります。Pythonには、Web開発向け用途だけでなく、データ分析向け、機械学習向けなど豊富なパッケージがあります。 ↩
-
PowerShellでは仮想環境を有効にする際に実行ポリシーの変更というひと手間が必要です。そのため、この記事ではコマンドプロンプトをオススメしています。実行ポリシーの変更についてはPython 入門者向けハンズオンテキスト中に詳しい手順があります。 ↩
-
macOSでPython公式サイトからPython3系をインストールすると
python3
コマンドがPython3系と結びつきます。python
コマンドはmacOSが使っているPython2系と結びついています ↩ -
Django~=2.1
でDjango 2.1系の最新バージョンがインストールされるように設定しています。(2019/01の記事執筆時点では2.1.5が入りました)(認識違いがありました。2019/04/30の修正を参照ください) ↩ -
Anacondaでpipコマンドの使用は推奨されていません。もし使う場合は、リスクを考慮した上で自己責任で実施してください。「pip でインストールされるパッケージは Anaconda が管理するパッケージではないため、うかつに使用すると不具合が発生する場合があります。(python.jp Conda コマンドより引用)」 ↩