Django
環境構築
Python3
Django2.1

環境を分離してDjangoの開発環境を作る(Python3系・Django2.1系)


はじめに

この記事では、環境を分離してDjangoの開発環境を整える方法をまとめます。

この記事は、【エラーは友達】Django基礎ハンズオン(2019/01開催)の環境構築参考記事です。

ハンズオンではDjango Girls Tutorialをベースにブログアプリを作ります。

一緒に手を動かしてエラーを解決するハンズオンを通して、Djangoを使った開発でつまづかない状態を目指します。


前提


  • お使いの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つです。


  1. 仮想環境を作る

  2. 仮想環境を有効にする

  3. Djangoをインストールする


仮想環境を作る

venvモジュールを使ってerrorfriendsディレクトリの中に仮想環境を作ります。

仮想環境には名前をつけられるので、myvenvという名前にします。

Django Girls TutorialのDjangoのインストールをベースに進めます。


  • Windowsの場合:python -m venv myvenv

  • macOSの場合:python3 -m venv myvenv3


仮想環境を有効にする

仮想環境が作成されたら、次のコマンドで有効にします。


  • Windowsの場合:myvenv\Scripts\activate

  • macOSの場合:source myvenv/bin/activateまたは. myvenv/bin/activate

仮想環境を有効にすると、コマンドラインの行の先頭に(myvenv)と仮想環境の名前が表示されます。


Djangoをインストールする

仮想環境を有効にしたあとは、Djangoをインストールしましょう。

パッケージの管理(インストールなど)はpipコマンドで行います。

pipのバージョンを最新にしてから、Djangoをインストールします。4(1行ずつ実行してください)

pip install --upgrade pip

pip install Django~=2.1

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つです。


  1. Django開発用の環境を作る

  2. Django開発用の環境を有効にする

  3. 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)と環境の名前が表示されます。


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つの方法を紹介します。


  1. Python公式サイトからダウンロードしてインストールする

  2. Anacondaをインストールする

PythonでWeb開発をしたいという場合、1と仮想環境で十分行えます。

Pythonでデータ分析や機械学習をしたいという場合、2が紹介されることが多い印象です。

python.jpの「環境構築ガイド」の手順が詳しいので、そちらを案内します。

リンクの手順を参考にPythonをインストールしてみてください。


Python公式サイトからインストールする


Anacondaをインストールする

Anacondaは、Pythonとデータサイエンスで使うパッケージがまとまったものと理解しています。

Anacondaをインストールすることで、Pythonが使えるようになります。

以上です。





  1. Pythonには数多くのパッケージがあります(ライブラリとも呼ばれるようです)。Djangoもパッケージの一つです。パッケージはお手元のPCにインストールすることで開発で使えるようになります。Web開発で使われるパッケージにはDjangoの他に、FlaskやTornadoなどがあります。Pythonには、Web開発向け用途だけでなく、データ分析向け、機械学習向けなど豊富なパッケージがあります。 



  2. PowerShellでは仮想環境を有効にする際に実行ポリシーの変更というひと手間が必要です。そのため、この記事ではコマンドプロンプトをオススメしています。実行ポリシーの変更についてはPython 入門者向けハンズオンテキスト中に詳しい手順があります。 



  3. macOSでPython公式サイトからPython3系をインストールするとpython3コマンドがPython3系と結びつきます。pythonコマンドはmacOSが使っているPython2系と結びついています 



  4. Django~=2.1でDjango 2.1系の最新バージョンがインストールされるように設定しています。(2019/01の記事執筆時点では2.1.5が入りました) 



  5. Anacondaでpipコマンドの使用は推奨されていません。もし使う場合は、リスクを考慮した上で自己責任で実施してください。「pip でインストールされるパッケージは Anaconda が管理するパッケージではないため、うかつに使用すると不具合が発生する場合があります。(python.jp Conda コマンドより引用)」