py2exeのsetup.pyについての覚え書き

PyGTK, GTK, Pythonで作ったものをWindowsの実行形式にまとめるツールとしてはpy2exeは有名ですよね。

今日はsetup.pyの書き方のメモです。

py2exeって、メインのスクリプトをsetup.pyに指定しておくと、importしているpyファイルをかき集めてパッケージにしてくれますよね。これってすごく便利なのですが、「このpyファイルだけは実行形式にまとめずに、実行形式の外部に置きたい」といったこともあると思います。


たとえば、アプリケーションの設定ファイルをpythonスクリプトとして記述しておいて起動時にimportさせたい時などです。
そのような場合には、setup.pyのオプションとして, 'excludes'に除外したいpyモジュール名を書いておくとよいです。
除外したモジュールはpy2exeが作成するdistフォルダにはコピーされないので、手動で追加しましょう。


除外したモジュールをpy2exeで作成した実行形式中でimportするためには、ひと工夫必要です。
除外したモジュールが置かれるディレクトリをモジュール検索パスに追加しておかないといけません。


例えば、除外したモジュールが実行形式と同じディレクトリに置かれている場合、
メインとなるスクリプトファイルの最初のほうで、

import sys
imprt os
sys.path.append(os.getcwd())

import 除外したモジュール

で大丈夫です。

今日も新しい発見があってよかったです。