Pyramidのインストール
Python で Web アプリケーションを書くことになったが Django はよくわからなかった.
そこで Pyramid を使って書いてみることにする.
Pyramid のインストール
$ pip install pyramid
ちなみにプロキシ経由でインストールする場合には
$ pip --proxy=url:port install pyramid
でプロキシを通す必要がある.
Collecting pyramid Downloading pyramid-1.6.1-py2.py3-none-any.whl (626kB) 100% |████████████████████████████████| 634kB 2.0MB/s ... Successfully installed pyramid-1.6.1
Waitress のインストール
早速この チュートリアル に沿って動かしてみようと思ったが waitress が入っていないと怒られた.
>>> from waitress import serve Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named waitress
waitress は Index of Packages : Python Package Index でパッケージとソースコードが入手できる.
waitress-0.9.0b1-py3-none-any.whl を pip からインストールする.
$ pip install Downloads/waitress-0.9.0b1-py3-none-any.whl waitress-0.9.0b1-py3-none-any.whl is not a supported wheel on this platform.
文句を言われた.
仕方がないのでソースコードから入れることにする.
$ wget https://pypi.python.org/packages/source/w/waitress/waitress-0.9.0b1.tar.gz $ tar -xf waitress-0.9.0b1.tar.gz $ cd waitress-0.9.0b1 $ python setup.py install ... Installed /usr/local/lib/python2.7/site-packages/waitress-0.9.0b1-py2.7.egg Processing dependencies for waitress==0.9.0b1 Finished processing dependencies for waitress==0.9.0b1
動かしてみる
インストールが終わったのでもう一度動かしてみる.
from waitress import serve from pyramid.config import Configurator from pyramid.response import Response def hello_world(request): return Response('Hello world!') if __name__ == '__main__': config = Configurator() config.add_view(hello_world) app = config.make_wsgi_app() serve(app, host='0.0.0.0')
実行したところ
$ python HelloWorld.py serving on http://0.0.0.0:8080
localhost:8080 で確認できる.
無事に動いた.
Ctrl + C で終了できる.
公式ドキュメント はじめての Pyramid アプリケーションを作る — The Pyramid Web Application Development Framework v1.4.3 (翻訳) の Hello World は waitress を入れなくても動いた.
wsgiref が使ってあったので何かしらの WSGI を使ってねということなんだろう.