Windowsアプリ化 py2exe

2016/11/28

setup.py

# -*- coding: utf-8 -*-

from distutils.core import setup
import py2exe

import sys
sys.argv.append('py2exe')

option = {
    'compressed' : True,
    # 圧縮するとファイルサイズは減るが起動時間がかかる

    'optimize' : 2,
    # 最適化
    # 通常は2で良い

    'bundle_files' : 1,
    # 1 すべてまとめて1つのファイルにする
    # 2 Pythonインタプリタ以外のすべてをまとめる(バンドル)
    # 3(デフォルト)バンドルしない

    #'includes' : ['sip'] #PyQtを使ったときは必要(経験上)
    # 含むモジュールを指定する
    # 自動で取り込んでくれないときに使う

    #'packages' : ['sip']
    # モジュールだけでなくその場所にあるすべてのファイルを含むらしい

    'excludes' : ['_gtkagg', '_ssl', '_tkagg', 'bsddb', 'curses', 'doctest', 'email', 'pdb', 'pyreadline', 'pywin.debugger', 'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl', 'Tkconstants', 'Tkinter'],
    # 含まないモジュールを指定する
    # 不要なモジュールを取り込まないことで容量を小さく出来る

    'dll_excludes' : ['w9xpopen.exe'],
    # 含まないDLLを指定する

    'dist_dir': './dist'
    # 出力先
}

setup(
    options = {'py2exe' : option },
##    console = [
##        {'script' : 'test_window.py'}
##    ],
    windows = [{
            'script' : 'mesh_viewer.py',
            #'icon_resources': [(1,'py.ico')],
            #'name' : 'TOOL NAME',
            #'version' : '1.00',
            #'description' : '',
            #'company_name' : 'TiBra Soft',
            #'url' : 'https://tiblab.net/',
            }],
    zipfile = None
    #default library.zip
    #./libs/library.zipなど下層にすることも可
)


py2exeでパッケージングした時のライブラリのサイズまとめ。scikit-imageがやたらコンパクトな件
http://app.f.m-cocolog.jp/t/typecast/1147997/1169291/96103974