2013.01.04
Pythonを始めるなら、1ファイルの軽量Webフレームワーク「Bottle」がおすすめ
全てのwebエンジニアがPythonを勉強するべき2013年到来」(2013-01-01)という記事が人気を集めているようだ。巳年(ヘビ年)にひっかけて、これからPythonを勉強したい人を対象に、書籍やライブラリなどを紹介している。有益な情報が多数含まれているが、ちょっとPythonを試してみたいという程度の人には、これだと敷居が高すぎるように思う。

Pythonに限らないが、あたらしい言語をはじめるとき、もっとも障害になるのは「環境構築」だろう。Pythonの場合、LinuxやMacであれば、Pythonインタプリタは最初から入っているので、Pythonそのものをインストールする必要はない。しかし、「そのあとどうするのか?」というのが、なかなかむずかしい。例えば、「Hello, World!」を出すWebアプリを書くには、そこからどうすればいいのか。なんらかのWebフレームワークを使うにしても、それをどうやって入れるのか。それを入れる「環境」は、どうやって作るのか。この「環境構築」こそ、あたらしい言語をはじめるときにブチあたる、最初のカベだろう。

Pythonの「環境構築」は、いまなら「virtualenv」を使うのが最有力のようだ。本格的にPythonをやるならば、virtualenvの設定方法や、pipの使い方などを知る必要があるだろう。しかし、単にPythonでWebアプリをちょっと書いてみたいという程度であれば、そこまでしなくても、軽量Webフレームワーク「Bottle」を使うのがいいと思う。

Bottle: Python Web Framework
http://bottlepy.org/

Bottle」は、「bottle.py」という1ファイルだけでできている。1ファイルだけなので、「インストール」する必要がなく、カレントディレクトリに置いておくだけでいい。「インストール」する必要がないから、「環境構築」が不要なのだ。これは、Python初心者にとって大きなメリットだろう。

Bottleを使って、「Hello, World!」を出すWebアプリを作るには、

1. Pythonインタプリタの確認
2. 適当な作業用ディレクトリを作って、そこに移動
3. 「bottle.py」を置く
4. 「hello.py」(自分のWebアプリ)を作成
5. 「python hello.py」で起動し、ブラウザで確認

のようにする。

1.のPythonインタプリタ確認は、ターミナルで「python」と打って、「Python 2.7.3 (中略)>>>」のように出ればOK。これは「対話モード」による起動なので、ここでは「exit()」などで終了しておく。

3.の「bottle.py」は、現時点でのBottleの最新版のページにある「bottle-0.11.4.tar.gz」を落として解凍すると、中に「bottle.py」が入っているので、それを使う。解凍が面倒な人は、GitHubにある開発版を直接落としてもOK。

4.の「hello.py」は、以下のようなものをテキストエディタで作成し、ファイル名を「hello.py」とする。

from bottle import route, run

@route('/hello')
def hello():
  return "Hello World!"

run(host='localhost', port=8080, debug=True)

(これは公式チュートリアルにあるサンプルコード)

これで、5.の「python hello.py」とターミナルで打てば、Webサーバが8080番ポートで起動する。ブラウザで「http://localhost:8080/hello」にアクセスして、「Hello World!」と出れば成功だ。

これがうまくいったら、チュートリアルの「Request Routing」などを参考にして、「hello.py」をいろいろ変えてみてほしい。

「bottle.py」自体も、Pythonの生きた教材になっている。Bottleはすべてを1ファイルに収めるというコンセプトのため、Pythonでコードを書くお手本にはあまり向いていないが、Pythonでよく使われる表現、テクニックが多数含まれている。「この__call__とか__get__とかいうのはなんだ?」というふうに、自分の知らないものを見つけて、ちょっとずつ勉強していくきっかけにする、というのがいいと思う。


関連エントリ:
Pythonで関数プログラミング入門
http://mojix.org/2009/04/26/python_functional
Pythonを使って、1行でファイル共有Webサーバを立ち上げる
http://mojix.org/2009/03/05/python_one_line_fileserver
Pythonモードがある日本製テキストエディタ 「JmEditor」
http://mojix.org/2008/07/18/jmeditor
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy