使用Pyscreenshot脚本的Python Tkinter在使用Pyinstaller编译后无法运行

时间:2017-07-20 06:40:15

标签: python tkinter screenshot pyinstaller

我的脚本运行顺利。但是在使用Pyinstaller编译后,启动.exe并单击开始按钮,GUI再次打开并崩溃。

def grabberfunc(*args):
    im = ImageGrab.grab()
    savedir=str(mappa)
    savefile="Screenshot_"+str("{:%Y_%m_%d-%H_%M_%S}".format(datetime.datetime.now()))+".png"
    savedirfile=join(savedir,savefile)
    im.save(str(savedirfile))

def scanning():
    interval=deftimeInput.get()
    if running:
        grabberfunc()
    root.after(int(interval)*1000, scanning)

if __name__=='__main__':
    root = tkinter.Tk()
    ...

有一个带有2个按钮的基本GUI:'开始'设置'跑步'变量' True''停止'反之亦然。 如果脚本运行,GUI不会再次打开并按我的意愿运行。

1 个答案:

答案 0 :(得分:1)

终于找到了解决方案。

不应导入pyscreenshot模块,而应从ImageGrab

导入PIL模块

所以正确的导入是:

from PIL import ImageGrab

通过pyinstaller编译脚本后,exe运行正常。