18

我正在尝试使用此链接上提供的 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”文件夹。此外,它还会生成一些其他的 exe w9xpopen.exe。但是,我的实际 exe 没有运行,也没有给出任何错误。如果我删除所有这些包含,它甚至都不起作用。

关于我可能在这里遗漏的任何想法?我正在使用 64 位 Windows 7 机器。

4

1 回答 1

12

感谢这个链接,你必须编辑和site-packages/py2exe/build_exe.py添加到列表中。这将使它运行,尽管您仍然拥有文件夹,并且这两个 dll 将与 exe 一起存在。但这比."tcl85.dll""tk85.dll"dlls_in_exedirtclbundle_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"]
于 2013-08-20T03:11:20.643 回答