首页 > 解决方案 > 如何在 wxPython 中使用 cx_freeze?

问题描述

我无法让 cx_freeze 将最简单的 wxPython 应用程序转换为 .exe 文件。我想知道如何进行。

我正在使用 Python 3.6.8、wxPython 4.0.4 msw (phoenix) wxWidgets 3.0.5 和 Windows 10。我尝试冻结一个复杂的 wx 应用程序,但它不起作用,所以我尝试了我能想到的最简单的应用程序.

这是我的 wx 应用程序:

import wx

app = wx.App()
frm = wx.Frame(None, title="Hello World")
frm.Show()
app.MainLoop()

这是 cx_freeze 的设置:

from cx_Freeze import setup, Executable

build_exe_options = {
    "packages": ["os", "wx"],
    "excludes": ["tkinter"]}

setup(name="simplewxapp",
      version="1",
      description="simplewxapp",
      options={"build_exe": build_exe_options},
      executables=[Executable("simplewxapp.py", base="Win32GUI")])

当我使用这个命令时:python setup.py build我希望它能够正常工作(就像我不使用 wxPython 时一样)。相反,我收到此错误消息:

 File "C:\Program Files\Python36\lib\site-packages\win32\lib\win32verstamp.py", line 159, in stamp
    h = BeginUpdateResource(pathname, 0)
pywintypes.error: (2, 'BeginUpdateResource', 'Le fichier spécifié est introuvable.')

标签: windowswxpythoncx-freezepython-3.7

解决方案


我也第一次尝试使用 cx freeze 。我这边也没有成功!我目前使用 pyinstaller,经过一些调整后它工作得非常好。

你可以在这里找到它:https ://www.pyinstaller.org/


推荐阅读