Этот простой код работает очень хорошо:wx.ProgressDialog + py2exe приводит к применению аварии
import wx
app = wx.App(0)
frame = wx.Frame(None)
test = wx.ProgressDialog('Test', 'Test', maximum = 20, parent = frame, style = wx.PD_CAN_ABORT)
app.MainLoop()
Однако, при компиляции/упаковки его в исполняемый файл с py2exe
...
from distutils.core import setup
import py2exe
setup(script_args = ['py2exe'], windows=[{'script':'progressdlgprobblem.py'}],
options = {'py2exe': {'compressed':1,'bundle_files': 1}}, zipfile = None)
.. , затем сбой файла .exe
.
Что может быть причиной этой аварии? Требуется ли wx.ProgressDialog
некоторые дополнительные дополнительные элементы для использования с py2exe
?
Добавление 1: когда я удалить style = wx.PD_CAN_ABORT
, там больше нет аварии. Как может произойти сбой с style
? Но тогда, то стиль является XP стиль при запуске из .exe
:
и отличается от стиля я получаю при запуске из .py
(без py2exe):
Addendum 2: whe n Я удаляю 'bundle_files': 1
, больше нет сбоев. Но я хотел бы сохранить это связывание только в одном файле! Как это объединение в один .exe-файл станет причиной этого сбоя?
Добавление 3: Большая часть проблемы решается с помощью wx.Python 3.0.1.0b вместо 3.0.0.0 (более подробно в ближайшее время).
Любые детали аварии? – hivert
Стандартное диалоговое окно «test.exe перестало работать», без какого-либо сообщения журнала – Basj
Попробуйте сделать ярлык для полученного exe с помощью 'C: \ Windows \ system32 \ cmd.exe/K" path-to-your-exe "' в Целевом. С удачей окно команд останется открытым, показывая вам трассировку ... – GreenAsJade