Hatena::ブログ(Diary)

理想のユーザ・インターフェイスを求めて このページをアンテナに追加 RSSフィード

2011-03-04

Pythonスクリプトを実行形式のファイルにまとめる(2)

前回、Pythonスクリプトを実行形式のファイルにまとめるPyInstallerの使い方を検討した。

そのとき、Pythonのスクリプトが他のディレクトリにあるモジュールをimportしているような場合には、specファイルのpathexのモジュールパスを追加すればいい、ということになったが、他の方法があった*1。それは、Makespec.pyでspecファイルを作成するときに、オプションで設定するということ。Makespec.pyのオプションの一部としては、以下のようなものがある。

オプション意味
--onefile作成されるのファイルが一つの実行ファイルになる。このオプションがないと、複数のライブラリと実行ファイルに分けられる。
--windowed, --noconsole実行ファイルを起動したときにコンソールが開かない。Windows用のオプション。
--nowindowed, --console上の逆。コンソールが開かれる。
-p DIR, --paths=DIRpythonモジュールをimportするためのパスの設定(PYTHONPATH)のようなもの。複数のディレクトリを設定できる。ディレクトリ間は、';'(Windowsの場合)か':'(Linuxの場合)で区切る。
--icon=<FILE.ICO>アイコンを表示させる。
-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]

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Megumi221/20110304/1299232964