Создание единого 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.

  • log4cplus: ERROR в python при вызове диалога tkinter file
  • Прозрачный фон в окне Tkinter
  • Tkinter: как сделать окно появляться при нажатии кнопки
  • Контрольный шрифт в tkMessageBox
  • Как перенаправить в реальном времени STDOUT из импортированного модуля в Tkinter Text Widget в python?
  • Tkinter IntVar возвращает PY_VAR0 вместо значения
  • Python 2.7.2 глобальные переменные + tkinter
  • Пользовательское окно Tkinter
  • One Solution collect form web for “Создание единого EXE с использованием py2exe для программы Tkinter”

    Благодаря этой ссылке вам необходимо отредактировать 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"] 
    Python - лучший язык программирования в мире.