web-dev-qa-db-ja.com

Tkinterプログラム用にpy2exeを使用して単一のEXEを作成する

このリンクで提供されているmintyのソリューションを使用して、Tkinterベースのプログラム用の単一のexeファイルを生成しようとしています。

py2exe-単一の実行可能ファイルを生成します

これが私がsetup.pyに書いたものです:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(windows=[{'script': 'filename.py'}], \
            options={"py2exe": {"includes": ["decimal", "Tkinter", \
            "tkFileDialog", "csv", "xml.dom.minidom", "os"], \
            'bundle_files': 1, 'compressed': False}}, \
            zipfile = None)

Bundle_files = 1を指定した場合でも、Tkinterのもの用の「tcl」フォルダーが作成されます。さらに、他のexew9xpopen.exeも生成されます。ただし、実際のexeは実行されず、エラーも発生しません。これらのインクルードをすべて削除しても機能しません。

私がここで見逃している可能性があることについて何か考えはありますか?私は64ビットのWindows7マシンで作業しています。

16
Muhammad Farhan

このリンク のおかげで、site-packages/py2exe/build_exe.pyを編集し、"tcl85.dll""tk85.dll"dlls_in_exedirリストに追加する必要があります。これで実行されますが、tclフォルダーはまだあり、これら2つのdllはexeファイルの横にあります。しかし、それはbundle_files=3よりもはるかに優れています。

        self.dlls_in_exedir = [python_dll,
                               "w9xpopen%s.exe" % (is_debug_build and "_d" or ""),
                               "msvcr71%s.dll" % (is_debug_build and "d" or ""),
                               "tcl85.dll",
                               "tk85.dll"]
12
Claudiu