py2exeの設定ファイル

http://d.hatena.ne.jp/Megumi221/20100220

py2exeやbbfreezeでプログラムをフローズンバイナリにするとき、ソースが複数のディレクトリに分けられているときの設定を調べる。:いくつかのソースファイルを複数のディレクトリに置いたときに、トップレベディレクトリでpy2exeを実行してもうまくいかない。設定ファイルの書き方を調べる必要がある。ディレクトリが分かれているよ、という情報を入れなければいけないはずだ。

Linuxでのconfigureファイルの設定がそうしなければならないので、このように思いこんでいたが、特別なことをpy2exeの設定ファイルで指定しなくても、普通にバイナリ化できた。いろいろマニュアルを調べても、それらしい記述がなかったので諦めて自分でいろいろやってみたが問題なかった。
トップレベルのファイル(例えば、toplevel.py)を指定するだけでよい。他のソースをimportしている場合もtoplevel.pyにちゃんと書かれていればsetup.pyで何もする必要はない(みたい)。

setup.pyスクリプト

# usage
# % python setup.py py2exe

from distutils.core import setup
import py2exe

py2exe_options = {
  "compressed": 1,
  "optimize": 2,
  "bundle_files": 1}

setup(
  options = {"py2exe": py2exe_options},
  windows = ["toplevel.py"])