python-2.7 - 编译的 32 位 python2.7 应用程序中有时会出现 wx dll 错误
问题描述
Python2.7,32位,使用wxPython2.8-win32-unicode-2.8.12.1-py27
应用程序无法在某些Window(7 和 10)计算机上启动,并在事件查看器中出现以下错误:
Faulting application name: CustomParts.exe, version: 0.0.0.0, time stamp: 0x5b8e9a15<br>
Faulting module name: wxbase28uh_vc.dll, version: 2.8.12.1, time stamp: 0x4e2114a2<br>
Exception code: 0xc0000005<br>
Fault offset: 0x0003c623<br>
Faulting process id: 0x9c54<br>
Faulting application start time: 0x01d57ea7f9f33b4e<br>
Faulting application path: C:\projects\Signlab2019\Debug-x64\CustomParts\CustomParts.exe<br>
Faulting module path: C:\projects\SIGNLA~2\DEBUG-~1\CUSTOM~1\wxbase28uh_vc.dll<br>
Report Id: ce581fe6-0bc3-4e8b-a883-37e2156b482a<br>
Faulting package full name:<br>
Faulting package-relative application ID:<br>
SAMPLE CODE:<br>
import wx
app = wx.App()
frame = wx.Frame(None, -1, 'TEST WINDOW')
frame.SetDimensions(0,0,640,480)
frame.Show()
app.MainLoop()
使用带有 .spec 文件的 pyinstaller 来编译应用程序。
解决方案
原来问题出在 wxPython 模块上。我需要将其更新到最新版本(从 2.8 到 4)。由于模块中的更改,这确实需要一些代码更新。我原本以为我无法更新这个模块,因为我使用的是旧版本的 Python。
推荐阅读
- javascript - (Imacross)从_Xpath_中提取文本没有从Javascript下的类中提取内容
- xamarin - 在 xamarin 表单中对齐标签和切换
- ruby-on-rails - Errno::ENOENT 没有这样的文件或目录@ rb_sysopen sinatra 不会加载视图
- python - iPython:如何计算字符串在单元格中出现的次数?
- c# - 发布不推送数据库初始化
- fonts - Jasper Report 字体扩展无衬线字体名称
- android - 如何为任务添加片段范围的侦听器?
- excel - 我需要复制活动单元格旁边的 6 个单元格
- python - 我只想用这些方法得到更有效的答案
- openxml - 打开 Xml - 需要修复文件才能打开