首页 > 解决方案 > 编译的 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 来编译应用程序。

标签: python-2.7wxpython

解决方案


原来问题出在 wxPython 模块上。我需要将其更新到最新版本(从 2.8 到 4)。由于模块中的更改,这确实需要一些代码更新。我原本以为我无法更新这个模块,因为我使用的是旧版本的 Python。


推荐阅读