Отображение окна Python py2exe (tkinter)
Я пытаюсь сделать EXE по py2exe. Программа показывает всплывающее окно, используя Tkinter. Проблема в том, что все работает нормально, когда я запускаю установку следующим образом:
setup(windows = [{'script': "msg.py"}], zipfile = None)
но он терпит неудачу, когда я пытаюсь сделать exe с одним файлом:
setup(windows = [{'script': "msg.py"}], zipfile = None, options = {'py2exe': {'bundle_files': 1, 'compressed': True}})
На самом деле финальный exe работает без проблем, но это не такне отображать любое окно. Я'Читал, что могут быть проблемы с bundle_files = 1 в Windows 7, но я также пробовал bundle_files = 2 с тем же эффектом. Вот мой скрипт msg.py:
from win32gui import FindWindow, SetForegroundWindow
from Image import open as iopen
from ImageTk import PhotoImage
from Tkinter import Tk, Label
from threading import Timer
from subprocess import Popen
import os
def Thread(t, fun, arg=None):
if argNone: x = Timer(t, fun, arg)
else: x = Timer(t, fun)
x.daemon = True
x.start()
def NewMessage():
global root
if not os.path.exists('dane/MSG'):
open('dane/MSG', 'w').write('')
root = Tk()
img = PhotoImage(iopen("incl/nowa.png"))
label = Label(root, image=img)
label.image = img
label.bind("", Click)
label.pack()
root.geometry('-0-40')
root.wm_attributes("-topmost", 1)
root.overrideredirect(1)
root.mainloop()
def Click(event):
global root, exit
root.destroy()
os.remove('dane/MSG')
OpenApp()
exit = True
def OpenApp():
hwnd = FindWindow(None, 'My program name')
if hwnd: SetForegroundWindow(hwnd)
else: Popen('app.exe')
root, exit = None, False
NewMessage()
Есть идеи? Я'Я читал, что есть некоторые проблемы с Tkinter, но были проблемы с компиляцией. Мой сценарий скомпилирован и нене выдает никаких исключений, но нене показывать окно ...