あけましておめでとうございます。本当は、色々書きたいネタはあるのですが、5分で便利なネタを、ということなので参戦します。
py2exeのお話。Pythonでは、標準でビルドしたり、アーカイブを作ったり、とても便利というか、自分で書くのが面倒な処理をやってくれる、distutilsという便利ライブラリが付いてきます。昔からやっている人は、python setup.py installと呪文のように唱えた経験があるのではないでしょうか?そう、あれです。今時で「easy_installしかやったことないよ!」という方もいると思いますが、このeasy_installもdistutilsの拡張として作られているはずです。
同じようなdistutils拡張に、py2exeというものがあります。これは、PythonをWindowsのexeファイルにしてくれます。実際にネイティブコードになるわけではなく、簡単なローダ+スクリプトファイル(.pyo)&PythonインタプリタのDLLという形式なので(自己解凍のcabファイルと同じ仕組み。プログラム領域より後ろにくっついたデータを処理するようなミニプログラムが先頭についているだけだと思われる)、パフォーマンスが劇的に上がったりはしないのですが、業務でプログラムを配布するには便利です。Visual Basic(6.0以前)的な使い方ができます。
py2exeを実行するには、python setup.py py2exeとコマンドを叩かなければならないのですが、メンテナンスを他の人にお願いするのに呪文を覚えてもらうのはなぁ、とお困りの方もいるかもしれません。そこで、setup.pyとは別に、create_win32.pyというスクリプトを書きましょう。
import sys sys.argv.append("py2exe") import setup
これで、「Windowsでこのスクリプトをダブルクリックすれば実行ファイルができるから」と紹介できるはずです。あ、今検証せずに(Windowsマシンが手元にない)、空で書いてますが、これで行けるはず(似たようなことはやった経験あり)。
5分っていいですね。アマゾンで在庫切れ3週目に突入したポモドーロテクニック入門では、25分作業、5分休憩というサイクルで作業を進めます。2-3ポモドーロやって気分転換でもしようかな、というタイミングで自分のノウハウを外だしするのは、自分にも、周りの人にもプラスですよね。