pyramid アドベントカレンダー 1日目

Pyramidとは

PyramidはWebアプリケーションフレームワークです。

2011年に1.0, 1.1, 1.2 とハイスピードで開発が進み、現在の最新バージョンは1.2.3です。

Pyramidの特徴

Pyramidは、ミニマリズムを原則としています。

そのため、ある設定をするだけでいきなりなにかが動き出したり、ちょっと呼ぶだけで自動でいろいろなものが設定されたりすることはほとんどありません。書いたまま動きます。

Pyramidの利点は拡張性です。

ありとあらゆる場所にフック可能で、リクエストオブジェクトやセッション、DB接続など、あらゆるフレームワークの動きを変更可能です。

また、こうしたフックは自分のアプリケーションでも利用可能で、拡張性の高いアプリケーション作成に非常に役立つものと思います。

小さなアプリケーションは小さく書けることを目標においています。

実際、helloworldのようアプリケーションはWebサーバーの起動まで含めて1ファイルに収めることも可能です。

目的に合わせてできることを制限したフレームワークは非常に便利です。その目的に合わせたアプリケーションを書く限りは....。

フレームワークの制限に泣いたことのある人、昔ながらのCMS的なWeb+DBサイトのフレームワークを使うことに限界を感じている人。

また、単に新しいフレームワークを知って知見を広めたい人。

Pyramidをぜひ触ってみてください。

インストール

今後説明する環境はubuntuに限定します。

WindowsやMacの方は、VirtualBoxやVMWarePlayerで環境を用意してください。

build-essentialとpython-devが入ってることを確認しておきましょう。

$ wget http://python-distribute.org/distribute_setup.py

$ python distribute_setup.py

$ easy_install virtualenv --user

$ easy_install virtualenvwarpper --user

$ cat >> ~/.bashrc
export WORKON_HOME "$HOME/.envs"
mkdir -p "$WORKON_HOME"
export VIRTUALENV_USE_DISTRIBUTE=1
source ~/.local/virtualenvwrapper.sh
^D
$ source ~/.bashrc

とりあえず動かす

実際に環境を作ってpyramidを動かしてみます。

$ mkvirtualenv --no-site-packages pyramid
(pyramid)$ pip install pyramid
(pyramid)$ paster create -t pyramid_starter mypyramid
(pyramid)$ cd mypyramid
(pyramid)$ pip install -e .
(pyramid)$ paster serve development.ini

http://locahost:6543 にアクセスすると、Pyramidのデフォルトページを見れるはずです。

1日目からいきなり遅れてしまいましたが、2日目以降はPyramidのいろいろな話題を12/25まで取り上げていく予定です。