GVKun编程网logo

按下绘图按钮后,cx_Freeze转换的GUI应用程序(tkinter)崩溃(按下对象绘制按钮绘制的图形类型是)

16

如果您想了解按下绘图按钮后,cx_Freeze转换的GUI应用程序的相关知识,那么本文是一篇不可错过的文章,我们将对tkinter崩溃进行全面详尽的解释,并且为您提供关于cx_Freeze4.3.1发

如果您想了解按下绘图按钮后,cx_Freeze转换的GUI应用程序的相关知识,那么本文是一篇不可错过的文章,我们将对tkinter崩溃进行全面详尽的解释,并且为您提供关于cx_Freeze 4.3.1 发布,完全支持 Python 3.3、cx_Freeze ImportError:无法导入名称、cx_freeze和单个文件的蛋、cx_freeze和捆绑文件的有价值的信息。

本文目录一览:

按下绘图按钮后,cx_Freeze转换的GUI应用程序(tkinter)崩溃(按下对象绘制按钮绘制的图形类型是)

按下绘图按钮后,cx_Freeze转换的GUI应用程序(tkinter)崩溃(按下对象绘制按钮绘制的图形类型是)

我已经处理了好几天了,希望能有所帮助。我用导入的模块tkinter,numpy,scipy,matplotlib开发了一个GUI应用程序,该模块在python本身中运行良好。转换为exe后,一切都按预期工作,但matplotlib节则无效。当我按定义的绘图按钮时,exe只是关闭而没有显示任何绘图。因此,我想举一个最小的例子,我只绘制了一个sin函数,而我面临着同样的问题:在python中工作完美,当将其转换为exe时,按下图按钮会崩溃。这是最小的示例:

import tkinter as tkimport matplotlib.pyplot as pltimport numpy as npclass MainWindow(tk.Frame):    def __init__(self):        tk.Frame.__init__(self,bg=''#9C9C9C'',relief="flat", bd=10)        self.place(width=x,height=y)        self.create_widgets()    def function(self):        datax = np.arange(-50,50,0.1)        datay = np.sin(datax)        plt.plot(datax,datay)        plt.show()    def create_widgets(self):        plot = tk.Button(self, text=''PLOT'', command=self.function)        plot.pack()x,y=120,300root=tk.Tk()root.geometry(str(x)+"x"+str(y))app = MainWindow()app.mainloop()

这是我setup.py与cx_Freeze转换的对应项:

import cx_Freezeimport matplotlibimport sysimport numpyimport tkinterbase = Noneif sys.platform == "win32":    base = "Win32GUI"executables = [cx_Freeze.Executable("test.py", base=base)]build_exe_options = {"includes":   ["matplotlib.backends.backend_tkagg","matplotlib.pyplot",                             "tkinter.filedialog","numpy"],                     "include_files":[(matplotlib.get_data_path(), "mpl-data")],                     "excludes":[],                    }cx_Freeze.setup(    name = "test it",    options = {"build_exe": build_exe_options},    version = "1.0",    description = "I test it",    executables = executables)

任何可能解决该问题的想法都将受到高度赞赏。我正在使用64位Windows10计算机,并且正在使用带有Python 3.4.3的WinPython发行版。

答案1

小编典典

在使用相同的 test.py
测试PyInstaller时,我找到了解决该问题的方法(或至少是一种解释)。我收到有关缺少dll文件的错误消息,该文件为
mkl_intel_thread.dll

我搜索了该文件,并在 numpy 文件夹中找到它。我将与 mkl _ *。dlllibiomp5md.dll
匹配的文件复制到了was创建的 test.exe 所在的目录中python setup.py build。此后,最小的 test.exe
在按下 按钮时显示了matplotlib窗口。

这些文件位于文件夹 lib \ site-packages \ numpy \ core中

cx_Freeze 4.3.1 发布,完全支持 Python 3.3

cx_Freeze 4.3.1 发布,完全支持 Python 3.3

cx_Freeze 4.3.1 发布,该版本完全支持 Python 3.3 以及支持在需要时复制 MSVC 运行时 DLL 和 manifest 文件,修复了一些小bug。

cx_Freeze 是一组脚本和模块用来将 Python 脚本封装成可执行程序,类似 py2exe 和 py2app 。不同的是,cx_Freeze 是跨平台的,要求 Python 2.3 或更新版本。

cx_Freeze ImportError:无法导入名称

cx_Freeze ImportError:无法导入名称

我正在尝试使用ttk模块为tkinter中的GUI应用程序为Windows创建可执行文件。我使用cx_freeze制作了一个exe,但是当我在控制台中运行该应用程序时,出现以下错误:

    D:\My Dropbox\python\SAR Calculator\src\dist_tk>Traceback (most recent call last):  File "C:\Python31\lib\site-packages\cx_Freeze\7, in <module>    exec(code, m.__dict__)  File "sarcalc_tk.py", line 14, in <module>  File "C:\Python31\lib\tkinter\__init__.py", li    from tkinter import _fixImportError: cannot import name _fix

这是我的代码中的第14和15行:

import tkinter as tkimport tkinter.ttk as ttk

答案1

小编典典

看起来cx_freeze没有意识到它应该包含该tkinter._fix模块,该模块有条件地由导入tkinter/__init__.py。您可以告诉它在--include-modules命令行参数或includes关键字参数tocx_Freeze.Executable中明确包含该模块。setup.py

cx_freeze和单个文件的蛋

cx_freeze和单个文件的蛋

我试图在Windows 7上使用python2.7 distutils脚本的cx_freeze ,它似乎被绊倒了2个软件包: rsa & pyasn1 :

error: [Error 3] The system cannot find the path specified: 'c:\python27\lib\site-packages\pyasn1-0.1.9-py2.7.egg\pyasn1/*.*'

( rsa的错误是类似的。)

起初我以为这是一个权限问题(两个鸡蛋文件显示挂锁徽章),但即使更改权限,错误仍然存​​在。

然后我注意到,这两个鸡蛋不是目录,而是个别文件,这可以解释为什么cx_freeze找不到所需的子目录。

debuggingWindows窗体应用程序C#添加一个手表

多个conemu窗口 – 如何区分?

C ++堆栈跟踪问题

Windows 10 API中的蓝牙低功耗广告数据限制

在Windows运行时将文件缩略图保存为图像

我试图指定这些作为packages或includes ; 无论如何,我得到的错误显示。

我也尝试指定它们作为excludes ,然后直接复制鸡蛋; 这允许cx_freeze脚本完成,但是然后可执行文件找不到鸡蛋。

所以我的问题是:我怎样才能让我的cx_freeze脚本识别这些鸡蛋?

如何检查dll的引用计数? 如何知道DLL在哪里加载?

cin.eof()的组合键

使用与Windows和Python 2.6.1的猎豹模板系统(名称映射问题)

在Windows上的C ++应用程序崩溃检测

在Eclipse中添加openCV到java buildpath

我的解决方案是重新安装有问题的软件包与zip-safe设置为False ,强制它们被安装为目录。

cx_freeze和捆绑文件

cx_freeze和捆绑文件

目前,我正在使用pyinstaller捆绑我的python应用程序。我同样正在迁移到pyGObject(由于pygtk被贬值了)。

现在pyinstaller不支持pyGObject,到目前为止,我还没有弄清所需的钩子…
pyinstaller的另一个缺点是它如何捆绑成一个可执行文件-导致公司安装的病毒扫描程序每次都进行大量检查该exe运行==>相当慢的启动。

由于对pyGObject和py3的支持,我正在研究使用cx_freeze,我注意到它没有单个可执行选项。如果可以清理工作目录,这本身不是问题,无论是通过将pyd
/ dll捆绑到另一个zip或子目录中来进行清理。

到处搜索(stackoverflow和其他站点),虽然可以做到,但我没有得到预期的结果。有任何想法吗?

setup.py基于此:http :
//wiki.wxpython.org/cx_freeze

今天的关于按下绘图按钮后,cx_Freeze转换的GUI应用程序tkinter崩溃的分享已经结束,谢谢您的关注,如果想了解更多关于cx_Freeze 4.3.1 发布,完全支持 Python 3.3、cx_Freeze ImportError:无法导入名称、cx_freeze和单个文件的蛋、cx_freeze和捆绑文件的相关知识,请在本站进行查询。

本文标签: