windows - 如何在 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.')
解决方案
我也第一次尝试使用 cx freeze 。我这边也没有成功!我目前使用 pyinstaller,经过一些调整后它工作得非常好。
你可以在这里找到它:https ://www.pyinstaller.org/
推荐阅读
- python - Maya (PySide2) - 重新打开窗口而不是新窗口
- vue.js - 我无法在 vue.js 中使用 datalist 的更改事件,更改事件不起作用
- mql4 - MQL4。当另一个挂单被触发时,帮助取消一个挂单
- html - 如何将文本包装在`td`中
- python - 单击角度链接后驱动程序无法找到元素,但结果也显示在浏览器中
- php - Web请求的Mysql PDO超时,cli完美运行
- python - 使用 PyCharm 创建 django 项目
- database - 你如何在 laravel 中显示数据透视表数据?
- c++ - MSYS2 MinGW 包中缺少 Protobuf grpc_cpp_plugin
- python - Plotly:修复 px.line 数据顺序问题