PyInstaller 排除模块 GUI

PyInstaller Exclude modules GUI

我正在尝试创建一个带有 GUI 的 .exe 文件来进行绘图。 我的想法是,当我点击 "Submit" 时,绘图会弹出,如果我再次单击 "Submit",绘图应该关闭并再次打开。

但是,当我单击 "Submit" 时,绘图正确显示,但我需要手动关闭绘图 window 才能再次释放按钮?

我已经清理了我的代码,只包含必需品:

import matplotlib.pyplot as plt  # import plot functions
from mpl_toolkits.mplot3d import Axes3D
from Tkinter import *
plt.switch_backend('TkAgg')

################################ TKINTER GUI ##################################

root = Tk()

label_1 = Label(root, text="File name:")
entry_1 = Entry(root)
entry_1.insert(0,"Input")
label_1.grid(sticky=E)
entry_1.grid(row=0, column=1, columnspan=3)

def saveentry():
    plt.close()
    name1 = entry_1.get()

################################### PLOTTING ##################################

    fig = plt.figure()
    ax = fig.gca(projection='3d') 

    plt.show(fig)

Button_1 = Button(root, text="Submit", command=saveentry)
Button_1.grid(row=7,column=0, sticky=E)

root.mainloop()

# END OF SCRIPT

我正在使用 Pyinstaller 来冻结脚本,有人向我指出我可能需要排除 Qt 库内容。 但是,我如何确定要排除的内容?

我试图排除 PyQT4 模块,但 exe 文件不起作用。我也尝试排除 Qt4Agg 和 Qt5Agg,但它似乎并没有解决问题。

原来我不需要排除任何东西。 (虽然 trim 包含的软件包可能是个好主意,因为 .exe 文件高达 260mb)

但是,我将 Python 版本从 2.7 更新到 3.6,并更新了一些代码。

现在一切都很顺利。