使用py2exe为Tkinter程序创建单个EXE

Muh*_*han 16 python tkinter py2exe

我正在尝试使用此链接上提供的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)
Run Code Online (Sandbox Code Playgroud)

它为Tkinter创建了一个'tcl'文件夹,即使我已经指定了bundle_files = 1.另外它还会生成一些其他的exe w9xpopen.exe.但是,我的实际exe不会运行,也不会出现任何错误.如果我删除所有这些包含它甚至不起作用.

我对这里可能缺少什么的想法?我正在使用64位Windows 7机器.

Cla*_*diu 12

由于这个环节,你必须编辑site-packages/py2exe/build_exe.py和添加"tcl85.dll",并"tk85.dll"dlls_in_exedir列表中.这将使它运行,虽然你仍然有tcl文件夹,这两个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"]
Run Code Online (Sandbox Code Playgroud)