Подтвердить что ты не робот

Создание единого EXE с использованием py2exe для программы Tkinter

Я пытаюсь использовать решение minty, предоставленное на этой ссылке, для создания одного файла exe для моей программы на базе Tkinter:

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)

Он создает папку "tcl" для материалов Tkinter, даже если я указал bundle_files = 1. Кроме того, он также создает другой exe w9xpopen.exe. Однако мой фактический exe не запускается, и он также не дает никаких ошибок. Это даже не работает, если я удалю все из них.

Любые мысли о том, что мне здесь не хватает? Я работаю над 64-разрядной машиной Windows 7.

4b9b3361

Ответ 1

Благодаря эта ссылка, вы должны отредактировать site-packages/py2exe/build_exe.py и добавить "tcl85.dll" и "tk85.dll" в список dlls_in_exedir. Это заставит его работать, хотя у вас все еще будут папки tcl, и эти две библиотеки будут находиться рядом с 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"]