20160327

cx_freezeでインストーラ作成

cx_freezeで、.exeファイルを作ってくれるのは分かった。
ただ、Windowsのプログラムっぽくない。
windowsのプログラムなら、インストールしてから使う。
そして、start menuの、すべてのプログラムから呼び出して使う。
実行ファイル.exeというよりも、インストーラー.msi
.exeというよりも.msi
python setup.py buildではなく、
python setup.py bdist_msi
埋め込み画像 1
で、作ってくれる。
もちろん、setup.pyは別に作らないとだめ。
import sys
import matplotlib#matplotlib.get_data_path().encode('utf-8') kono katachi
from cx_Freeze import setup, Executable
base = None
includes = ["hoge"]#使用するモジュールやら、自作モジュールを書いたリスト。
packages = ["matplotlib"]#こちらもモジュールを書くが、大きめのモジュールを入れるんだと思う。
excludes = ["hogehoge"]#除外したいモジュールを書く。(GPLライセンスのモジュールとか)。動かすために必須なモジュールを除外したら、当然アプリが動かなくなる。
setup(
        name = "hoge app", author = "hoge", author_email ="hoge@hogehoge", url = "http://hogehogehoge.com", version = "0.9", description = "hoge",
        options = {"build_exe": {"packages": packages,"includes": includes,"excludes":excludes}},
        executables = [Executable("a.py", base=base, icon="frame.ico", targetName = 'FIR and FFT.exe')])
こんな感じで作った。
"targetName"は、出来上がるアプリの名前を指定する。
これを指定しなかったら、a.exeになる。(a.pyを使ってインストーラーを作るから。)
このsetup.pyでは、"targetName"を指定しているので、dist\FIR and FFT-0.9-win32.msiができる。
埋め込み画像 2
できてる。
posted by yuchan at 21:45 | Comment(0) | python
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: