※このブログではサーバー運用、技術の検証等の費用のため広告をいれています。
記事が見づらいなどの問題がありましたらContactからお知らせください。

次のページ>
【初心者チュートリアル】Django2でブログ作成(Part1)〜プロジェクトを作成〜

【2019年11月版】WindowsでDjangoの開発環境を構築しよう!

python3 Django python Djangoチュートリアル Windows

投稿日:2019年11月7日

このエントリーをはてなブックマークに追加
Python・Django初心者向けにWindowsへのpythonのインストール、Djangoの開発環境の構築方法、その他おすすめのツールについて解説していきます。

はじめに

WindowsLinuxMacに比べて開発環境の構築が少しだけ複雑になっています。

初めに話しておくと、もしこれからプログラミング特にDjangoRubyOnRailsなどでのWeb開発をしていく方には、僕はMacやLinux(おすすめはUbuntu)を使うことをおススメしています。

しかし、もちろんWindowsでもしっかり環境を整えれば快適に開発はできるので、Windowsを使い続けたい方も心配しないでください。

この記事ではWindowsでPythonのWebフレームワークDjangoをつかった開発ができるまでの環境の構築方法についてしっかり解説します。


GitBashのインストール

Bashとは?

プログラミングの記事などに書いてあるコマンドはたいていBashというもので実行される前提で書いてあります。

こんなやつ
$ ls
$ cd Documents
$ mkdir sample_dir

このBash、MacやLinuxではデフォルトで普通に使えるのですが、Windowsでは使えません。コマンドプロンプトは完全に別物です。

なぜBashを使うの?

『WIndowsにもコマンドを打てるコマンドプロンプトがあるんだからそれでいいじゃん!!』と思う方もいるでしょう。

もちろんコマンドプロンプトで十分開発はできます。

しかし、例えば以下のようなコマンド

$ ls

このコマンドはBashで打つとその場所のすべてのディレクトリを表示してくれるのですが、Windowsのコマンドプロンプト打つと

>ls
'ls' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

と、『そんなコマンドないよ!』と返されてしまいます。

DjangoRubyOnRailsのようなWebアプリケーションのフレームワークの解説はほとんどBashを前提に書かれています。(『ターミナルを起動して...』のように書いてある場合には間違いなくBashでしょう)

いろんな人や本が解説してくれていてもコマンドが正しく認識しなくては、そこで躓いてしまいますよね。

ということで、僕は初心者の方にはBashをオススメしています。

GitBash

WindowsでBashを使う方法はいくつかあるのですが、今回はGitに付属しているGitBashというものをインストールしてみましょう。

この記事で解説するのはGitBashだけですが、Git自体もWeb開発には必須のツールなので使い方は勉強しておきましょう!

GitBashGit公式サイトのインストーラからGitをインストールする際に一緒にインストールされます。

以下のサイトにアクセスしましょう。

https://gitforwindows.org/

サイトトップの中央部、『Download』ボタンでインストーラがダウンロードできます。

ダウンロードできたらファイルを開きましょう。インストーラが起動します。

インストールはほとんどデフォルトの設定のまま進んでいいのですが『Configuring line encoding conversions』という設定の時だけ、デフォルトの設定から変更して『Checkout as-is , commit as-is』にチェックしてください。

もしデスクトップにショートカットを作りたい場合には『Select Components』という設定の時に『Additional icons』の『On the Desktop』にチェックをいれてください。

Completing the Setup Wizard』という画面が出ればインストールが完了したということです。

GitBashを起動してみよう

GitBashはWindowsキーを押して『bash』と入力、その後Enterキーで起動できると思います。

ちゃんとBashのコマンドが使えるか試してみましょう。(ちなみに僕の記事の場合Bashを使う時には左上に『ターミナル』と書いておいています)

ターミナル
$ ls
'3D Objects'/
 AppData/
 Apple/
 Contacts/
[...]

この記事の解説の中でも何度かGitBashを使うので覚えておいてください。


Pythonの環境構築

pythonのアンインストール

まずは他のバージョンのpythonがインストールされていないか確認して、入っていたらアンインストールします。

pythonがインストールされているかは、GitBashで以下のようなコマンドを打って確認します。

ターミナル
$ python --version
Python 3.6.8

このように、『Python {バージョンNo.}』が表示されたらすでにインストールされているということです。

Pythonのアンインストール方法は『アプリと機能』という設定から行います。Windowsキーを打って『uninstall』と入力してEnterで開けると思います。

検索で『python』と入力して表示される『python {バージョン名}』と『python launcher』をアンインストールしましょう。

pythonのバージョン

インストールするpythonのバージョンには注意が必要です。

ライブラリやフレームワークは使用できる言語のバージョンが指定されています。例えば、2019年11月6日現在のDjangoの最新バージョンDjango2.2で使用できるバージョンはPython3.5, 3.6, 3.7だけです。

Pythonの公式サイトで公開されているPythonの最新バージョンはPython3.8になるため、最新バージョンをインストールしてしまうとDjangoが使えないということになります。

2019年11月現在はPython3.63.7あたりを使っておくと良いでしょう。

今回はPython3.7を使う事にします。

python3.7.5のインストール

WindowsにPythonをインストールするインストーラはPython公式サイトからダウンロードできます。以下のサイトにアクセスしましょう。

https://www.python.org/

サイトの上部のタブからDownloads > Windowsとアクセスしてダウンロードページを開きます。

ここで表示されるページのLatest Python 3 Releaseというリンクは選ばないでください。

そのままページをすこし下にスクロールしていくとPython 3.7.5 という部分があります。こちらの中のWindows x86-64 executable installerをクリックしてインストーラをダウンロードしましょう。

ダウンロードしたファイルを開くとインストーラが起動します。必ず『Add Python3.7 to PATH』にチェックをいれてInstall Nowをクリックします。

これにチェックを入れなかった場合、自分で環境変数にPythonのパスを設定しなくてはいけなくなるので、必ずチェックを入れましょう。

Setup was Successfulと出ればインストールは完了です。

GitBashで確認してみましょう。GitBashが開いたままになっていた方は一度開きなおしてください(Winキー+『bash』+ Enterキー)。

ターミナル
$ python --version
Python 3.7.5

もし/c/Users/MarsQuai/AppData/Local/Microsoft/WindowsApps/ permission deniedのような出力が出てしまった場合、アプリのエイリアスが邪魔している可能性があります。

Winキーを押して、『alias』とうちEnterキーで『アプリ実行エイリアスの管理』の設定を開くことができます。

表示されているものの中でpythonと書かれたものをすべてOFFにしましょう。

WindowsのBashでPythonの対話型

Pythonではファイル名を指定して実行する実行方法と、1行ずつ対話的に実行する実行方法があります。

MacやLinuxのターミナルでは普通に『python』と打つだけで対話モードを起動できるのですがWindowsの場合『-i』オプションをつけないと対話モードになりません。

実際にGitBashで対話モードで起動して簡単なスクリプトを実行してみましょう。

ターミナル
$ python -i
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 15 2019, 00:11:34) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World")
Hello World
>>> 1+2+3+4
10
>>>

コマンドプロンプトで対話モードを使う時には『-i』オプションは必要ないです。

コマンドプロンプト
>python
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 15 2019, 00:11:34) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World")
Hello World

virtualenv

Pythonで開発をするときにはvirtualenvを使うことをおススメします。virtualenvはPython のパッケージをプロジェクトごとに分けることができるライブラリです。

インストール

ターミナル
$ pip install virtualenv 
$ virtualenv --version              # インストールの確認
16.7.7

Python仮想環境の作り方

virtualenvコマンドはそれぞれのプロジェクトにpythonの環境を作成します。コマンドの簡単な使い方は以下の通りです。

virtualenvの簡単な使い方
$ virtualenv {名前}

仮想環境のactivateとdeactivate

仮想環境はactivateコマンドを打つことでそのターミナルで使用可能になります。仮想環境を終了させたいときには逆にdeactivateコマンドをつかいます。activateコマンド、deactivateコマンドはそれぞれ以下のような使い方になってます。

activateコマンド・deactivateコマンド
$ source {名前}/Scripts/activate         # activateコマンド
$ deactivate     # deactivateコマンド

※MacやLinuxでは微妙に実行するコマンドが変わります!!

仮想環境を作ってDjangoをインストールしてみよう!

ここでは適当に作業ディレクトリを作り、そこに仮想環境を作成してライブラリをインストールし、きちんと動くか確認してみます。

内容については以下の通りです。

  • 作業ディレクトリ名    :sample_pj
  • 仮想環境名        :sample_venv
  • インストールするライブラリ:requests(簡単に通信を行うライブラリ)

コマンドを打つのにGitBashを開くのですが、今回はこれまでと少し違う方法で開いてみましょう。まずはエクスプローラでドキュメントディレクトリを開きます。そこで右クリックして、そこからここからGitBash HereでGitBashを開いてみてください。。

すると下のようにドキュメントディレクトリでBashを開くことができます。(普通に開いた後にcd Documentsした状態)

ターミナル
~/Documents $

この開き方も便利なので覚えておきましょう。

では仮想環境を使ってみます。

ターミナル
$ mkdir sample_pj                                                         # ディレクトリを作成
$ cd sample_pj                                                               # ディレクトリを移動
$ ls                                                                                   # ディレクトリの中身を確認(いまは空)
$ virtualenv sample_venv                                              # 仮想環境を作成
$ ls                                                                                   # 仮想環境が作成されたことを確認 
sample_venv/
$ source sample_venv/Scripts/activate                       # 仮想環境をactivate
(sample_venv) $ pip install django                               # ライブラリをインストール
(sample_venv) $ pip freeze                                           # インストールできたことを確認
Django==2.2.7
pytz==2019.3
sqlparse==0.3.0

ちゃんとインストールできました。簡単にこの中でdjangoを使ってみましょう。ここで実行するコマンドについて、意味は理解せずに流してしまって大丈夫です。詳しくはDjangoのチュートリアルのPart1で紹介します。

今はただ仮想環境が正しく使えることを確認しましょう。

ターミナル
(sample_venv) $ django-admin startproject sample_blog
(sample_venv) $ cd sample_blog
(sample_venv) $ python manage.py runserver
Watching for file changes with StatReloader

これで

http://localhost:8000

にアクセスしてみましょう。下のようなDjangoのサンプルサイトが表示されればOKです。

サーバーはBashでCtrl+Cと打てば終了させられます。確認はできたので、そのまま仮想環境もdeactivateしましょう。

ターミナル
(sample_venv) $ deactivate venv/Scripts/deactivate  
$ pip freeze                                                                    # 環境の分離を確認

僕はいつも1つのWebサイトに対して一つの作業ディレクトリとその中に仮想環境を作成しています。

ただその辺はあくまで参考程度なので、個人の管理しやすいようにしましょう!


さいごに

今回ご紹介した仮想環境で環境を分離する方法はDjangoだけでなくすべてのPythonアプリケーションのプロジェクトの管理で勧められている方法です。

仮想環境を使いこなして最高のPythonライフを送りましょう!!


参考書籍

このエントリーをはてなブックマークに追加

次のページ>
【初心者チュートリアル】Django2でブログ作成(Part1)〜プロジェクトを作成〜

関連記事

記事へのコメント