From Evernote: |
Pavor使ってみた |
virtualenv, pip, setuptools, distribute, buildoutなどPythonの環境構築は結構あるが、さらにPavorを教えてもらったので試してみた。
Pavorはタスクをこなすためのスクリプトを一元的に管理するようなもの。
buildoutのレシピとどう違うんだという気がするが、Pavorのタスクはレシピよりも小さな感じで、関数を書いてtaskデコレータで登録するだけで使える。
タスクは、pavement.pyというファイルに書く。
from paver.easy import *@taskdef hello():""" Say hello"""print "Hello, world!"
これで、helloタスクを使えるようになる
paverには標準でsetuptools互換のタスクを作るファクトリ、ファイルを操作するためのユーティリティなどがついている。
これで、bidst_eggやsdist, register タスクが使えるようになる(中でsetuptools呼んでるだけなんだろうけどね)
from paver.easy import *from paver.setuputils import setupsetup(name="hoge",version="0.1",)
さらに、generate_setupタスクがデフォルトで用意されていて、これを実行すると、paverを実行するsetup.pyが生成される。
minilibタスクでpaver-minilib.zipを生成させておけば、paverのインストールも不要になる。
この状態だといつものsetup.pyと同じように使えて、かつpavement.pyで定義したタスクも使えるようになる。
なんだかんだでプロジェクト固有のタスクを書いたりするわけで、そういったタスクをbuildoutのレシピを作るより簡単に作れるのは魅力かもしれない。
buildoutは、結構大掛かりで汎用的な感じなので、うまく補完してくれそうな気がする。
連携して使うのはまた今度試してみよう。