12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-01-18

はじめに

この記事では、環境を分離して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つです。

  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行ずつ実行してください)

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

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

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

  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が入りました)(認識違いがありました。2019/04/30の修正を参照ください)

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

12
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?