Pythonスクリプトを実行形式のファイルにまとめる(2)
前回、Pythonスクリプトを実行形式のファイルにまとめるでPyInstallerの使い方を検討した。
そのとき、Pythonのスクリプトが他のディレクトリにあるモジュールをimportしているような場合には、specファイルのpathexのモジュールパスを追加すればいい、ということになったが、他の方法があった*1。それは、Makespec.pyでspecファイルを作成するときに、オプションで設定するということ。Makespec.pyのオプションの一部としては、以下のようなものがある。
オプション | 意味 |
---|---|
--onefile | 作成されるのファイルが一つの実行ファイルになる。このオプションがないと、複数のライブラリと実行ファイルに分けられる。 |
--windowed, --noconsole | 実行ファイルを起動したときにコンソールが開かない。Windows用のオプション。 |
--nowindowed, --console | 上の逆。コンソールが開かれる。 |
-p DIR, --paths=DIR | pythonモジュールをimportするためのパスの設定(PYTHONPATH)のようなもの。複数のディレクトリを設定できる。ディレクトリ間は、';'(Windowsの場合)か':'(Linuxの場合)で区切る。 |
--icon= |
アイコンを表示させる。 |
-n NAME, --name=NAME | 作成される実行ファイルの名前を指定する。Makespec.pyを実行したとき、NAME.specというファイルが作成され、Build.pyを実行したとき、NAMEという実行ファイルが作成される。 |
このうち、--pathsオプションを使えばよい。
Linuxの場合であれば、--paths="./modules:./libs"のように書く。これで動く。
Windowsの場合であれば、--paths="./modules;./libs"のように書けばよい。
- テスト環境
- Python 2.6.2
- PyInstaller 1.5
*1:参考:PyInstaller Documentation for version 1.4 [pdf]