こしごぇ(B)

旧:http://d.hatena.ne.jp/koshigoeb/

Python 再入門(1)

かなり昔に『初めてのPython』を読んだっきり、結局使わずにきたPythonに再入門。 とりあえず、環境を整えつつ感じをつかむ。

参考書籍

Pythonプロフェッショナルプログラミング

Pythonプロフェッショナルプログラミング

開発環境

pyenv を使う。

$ pyenv install 2.7.5
$ pyenv virtualenv 2.7.5 2.7.5-test
$ pyenv virtualenvs
$ pyenv local 2.7.5-test
$ pyenv versions

補助ツールなど。

  • IPython: インタラクティブシェル拡張
  • PYTHONSTARTUP 環境変数
  • pep8: コーディング規約
  • pyflakes: 構文チェック
  • pdb: デバッガ

余りに手探りで Emacs の設定が面倒に感じたので、PyCharm を使ってみる事に。継続するか Emacs に戻るかは使い心地次第。

Web アプリを作る

フレームワーク Flask を使って Web アプリケーションを作ってみる。

$ pyenv virtualenv 2.7.5 2.7.5-ppp-guestbook
$ pyenv local 2.7.5-ppp-guestbook
$ pip install Flask
$ charm .

PyCharm のプロジェクト設定で ~/.pyenv/versions/2.7.5-ppp-guestbook/bin/python を使う様にする。

(面倒くさいので略)

ドキュメントを書く

Sphinx が有名。

ソースコードの docstring に reST でドキュメントを記述しておくと、Sphinxsphinx-apidoc コマンドを使って API ドキュメントが生成できる様になる。

$ pip install sphinx
$ pyenv rehash
$ sphinx-apidoc -F -o docs src
$ cd docs
$ make html
$ open _build/html/index.html

テスト

標準ライブラリの unittest や nose を使ってユニットテストを行う。 モックを使いたい場合は mock というライブラリが利用可能。 WebTest というライブラリを使うと、擬似的な HTTP リクエストを送るなどといった形で WSGI アプリの機能テストを行える。

デプロイ

Fabric を使うと、複数のリモートサーバをまとめて操作する事ができる。