474
603

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.

PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(1)【環境構築編】

Last updated at Posted at 2016-11-08

解説記事の構成

No. タイトル
1 PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(1)【環境構築編】
2 [PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(2)【プロジェクト作成編】] (http://qiita.com/carat_yoshizaki/items/926f702198bdfe8c6bd2)
3 [PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(3)【アプリケーション作成・DB設定編】] (http://qiita.com/carat_yoshizaki/items/c9a5299b77b99ff07e4a)
4 PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(4)【ルーティング設定・MTVデザインパターン入門編】
5 PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(5)【Django shellでDB操作入門編】
6 PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(6)【MTVデザインパターン完成編】

はじめに

logo_horizontal.png

この記事は、すでにPythonやRubyといったプログラミング言語に触れたことはあるが、Webアプリケーションは作ったことがない、もしくはDjangoには触れたことがないといった方を対象にしています。

Webアプリケーションと調べると、PHPやRubyがよく出てくるのですが、機械学習など複雑な数学的演算を行う場合にはやはりPythonが優れていると感じます。
以前、Ruby on Railsでアプリケーションを作成し、数学的な計算の部分はR言語で組み込むといったことをしたことがありますが、言語間を繋ぐパイプを構築するにも一手間必要でした。
そういった点で、色々な数学的なトリックを含ませたWebアプリケーションを作成する際にはPythonをオススメします。

ただ、PHPやRubyのWebアプリケーションと比較すると、PythonのWebアプリケーションは参考文献が不足しているように感じます。
PythonでのWebアプリケーション作成を最初から最後まで易しく、そして長くなりすぎない程度で解説していきます。

今回、WebアプリケーションのフレームワークにはDjangoを使用します。
Django以外にもBottleやFlaskなど軽量かつシンプルなフレームワークもあるのですが、Ruby on Railsのように、覚えれば実践的なアプリケーションでも耐えうるWebフレームワークであって欲しいため、Ruby on RailsのPython版(と思っている)のDjangoを選択しました。
Djangoの良さについてはこちらをご覧下さい。
【5分でわかる】Python、WEBフレームワーク「Django」とは

Djangoを使うことができれば、BottleやFlaskの習得も容易かと思われますが、恐らく逆は難しいかと思います。
初心者に易しいとは、解説が易しいと言うよりも、今後使う上で色々なことが吸収しやすいスタンダードを知るということだと思っていますので、そういう点でDjangoはPythonのWebアプリケーションのフレームワークとしてはうってつけではないでしょうか。

解説の部分はこちら側で極力易しくまとめていきますので、ご安心ください。

ご協力お願いします!

こちらの記事が参考になった方は、こちらの記事に『いいね』をしていただけると嬉しいです。

著者紹介

02.jpg

私は株式会社キカガク代表取締役の吉崎亮介と申します。
現在は『機械学習・人工知能 脱ブラックボックスセミナー』や『機械学習のオンライン家庭教師』を運営しております。

略歴

所属 学科・部署 研究内容 賞罰
舞鶴高専 電子制御工学科 画像処理(AR)を研究
舞鶴高専 電気・制御システム工学専攻 ロボット工学・システム制御・最適化を研究
京都大学大学院 情報学研究科(加納研 製造業に向けた機械学習の応用研究 ADCHEM2016最優秀論文賞、化学工学会技術賞
株式会社SHIFT 社長室 人工知能によるソフトウェアテスト自動化の研究 CEDEC2016登壇
株式会社Carat 取締役兼COO 最適な旅程提案アプリ(自然言語処理・最適化)
株式会社キカガク 代表取締役社長 機械学習・人工知能セミナーオンライン家庭教師

株式会社キカガク

logo_horizontal.png

機械学習や人工知能の教育サービスを提供

機械学習・人工知能 脱ブラックボックスセミナー
slide1-1.png

機械学習のオンライン家庭教師
slide2.png

※ オンライン家庭教師のカリキュラムはこちら

フォローお待ちしております

ビジネス目線の機械学習・人工知能の情報やオススメの参考書について発信しています。

代表取締役社長 吉崎 亮介
Twitter:@yoshizaki_kkgk
Facebook:@ryosuke.yoshizaki
Blog:キカガク代表のブログ

開発環境

  • OS: Mac OS Sierra (10.12)
  • Python 3.5.2

Macの環境を前提として話を進めていきます。

Pythonのバージョン確認は以下の通りです。

$ python3 --version
Python 3.5.2

マイナーバージョンによる大きな差は無いと思いますが、少なくともPython3系にしておくようにしてください。

仮想環境の構築

Webアプリケーションごとにシステム側の設定があり、ひとつのPCに色々なWebアプリケーションの設定を行うと、他のアプリケーションの設定に影響を受ける場合があります。
そこで、Pythonでは仮想環境(Virtual Environment)を導入し、各アプリケーション毎に独立した設定を持つようにしています。
この辺りは、Ruby on Railsを知っている方であれば、自然な感覚だと思います。

ディレクトリの作成

まず、今のディレクトリ(Windowsでいうフォルダ)にWebアプリケーション用のフォルダを作成します。

アプリケーション用のディレクトリを作成後に移動
$ mkdir sample_app
$ cd sample_app

このディレクトリ内に myvenv というvirtualenv(仮想環境)を作成します。

仮想環境を作成
$ python3 -m venv myvenv

このコマンドが通ると、ディレクトリ内に myenv という名前のディレクトリが作成されていると思います。

仮想環境が作成されていることの確認
$ ls
myvenv
スクリーンショット 2016-11-09 1.58.40.png

このようなディレクトリ構成ができているでしょうか。

ちなみに、このディレクトリ構成を出力するには tree というコマンドを使用しており、Homebrew経由で簡単にインストールすることができます。

treeのインストール
$ brew install tree

treeにより、ディレクトリ内容を表示します。
treeのオプションについては、Qiita:treeコマンドをご覧下さい。

treeによりディレクトリ内容を確認
$ tree -L 1 myvenv
myvenv
  ├── bin
  ├── include
  ├── lib
  └── pyvenv.cfg

仮想環境の設定

仮想環境の設定を始める前に、作成した仮想環境のディレクトリに移動しておきましょう。

ディレクトリ移動
$ cd myenv
$ ls
bin   include   lib   pyvenv.cfg

今回は、Django Girlsのチュートリアルに合わせて、バージョン1.8を使用することにします。

Djangoのインストール
$ pip3 install django==1.8
Collecting django==1.8
  Downloading Django-1.8-py2.py3-none-any.whl (6.2MB)
    100% |████████████████████████████████| 6.2MB 111kB/s
Installing collected packages: django
      Successfully uninstalled Django-1.9.1
Successfully installed django-1.8

以上で、仮想環境の設定が完了しました。
非常に簡単ですね。

次回の解説記事

[PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(2)【プロジェクト作成編】] (http://qiita.com/carat_yoshizaki/items/926f702198bdfe8c6bd2)

参考文献

おわりに

機械学習を学ばれる際に、『独学ではあの難解な数式やプログラミングがやっぱり難しい』と感じた方は、ぜひ弊社のセミナーもしくはオンライン家庭教師でお待ちしております。

機械学習・人工知能 脱ブラックボックスセミナー
slide1-1.png

機械学習のオンライン家庭教師
slide2.png

※ オンライン家庭教師のカリキュラムはこちら

フォローお待ちしております

ビジネス目線の機械学習・人工知能の情報やオススメの参考書について発信しています。

代表取締役社長 吉崎 亮介
Twitter:@yoshizaki_kkgk
Facebook:@ryosuke.yoshizaki
Blog:キカガク代表のブログ

最後までお読みいただき、ありがとうございました。

474
603
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
474
603

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?