我试图为我使用tkinter编写的GUI应用程序制作一个文件exe。我使用Python 2.7,因为我使用的其他一些软件包仅在Python 2.7中可用。该应用程序有一个部分,其中需要一些数据,并使用matplotlib进行插值和绘图,我使用了画布将其添加到tkinter框架中。我很确定这是导致问题的部分。
此外,我以前曾经使用过不同版本的机盖以及一些不同版本的numpy,setuptools等,并且我成功创建了一个exe,并且之前运行良好。
我使用适用于Windows 64位的Canopy最新版本安装了Python。从那以后就面临这个问题。当我在机盖中运行代码时,它可以正常运行,但是在我使用Pyinstaller构建onefile exe之后,它会出现错误并突然停止。错误消息是它找不到mk2_avx2.dll和mk2_def.dll。
重新安装顶篷并升级了其他一些软件包后,就会出现此问题。谁能帮我这个?我要附上屏幕截图
我试图找到dll(它们在Scripts文件夹中)并将它们添加到exe所在的文件夹中,并且它可以正常工作,但是之后我升级/降级了numpy等某些软件包。不再工作了。
修改
该错误是由代码引起的
canvas = FigureCanvasTkAgg(fig, master=mFrame)
plot_widget = canvas.get_tk_widget()
plot_widget.grid(row=0, column=0,rowspan= 6,sticky = W)
我改为使用PIL PhotoImage函数将图转换为numpy数组,然后转换为图像。现在,我的程序不再对这些dll进行调用,而我的一个Exe可以正常运行。