使用IEHtmlWindow与wxPython程序一起使用py2exe绞死
我有一个Python 2.7.2程序,在win XP SP3机器上有wxPython 2.8.12和comtypes 0.6.2依赖项。我使用py2exe通过以下设置生成windows可分发文件:使用IEHtmlWindow与wxPython程序一起使用py2exe绞死,python,wxpython,py2exe,comtypes,Python,Wxpython,Py2exe,Comtypes,我有一个Python 2.7.2程序,在win XP SP3机器上有wxPython 2.8.12和comtypes 0.6.2依赖项。我使用py2exe通过以下设置生成windows可分发文件: setup( options = { "py2exe": { "packages": ['wx.lib.pubsub'] } }, windows = [ {
setup(
options = {
"py2exe": {
"packages": ['wx.lib.pubsub']
}
},
windows = [
{
"script" : "entry.py",
}
],
data_files=[("bitmaps", ["../resources/icons/app_big.png",
"../resources/icons/app_medium.png",
"../resources/icons/app_small.png",
"../resources/icons/app_small_new.png",
"../resources/icons/app_small_bad.png",
"../resources/icons/cross_hover.png",
"../resources/icons/cross.png",
"../resources/icons/delete.png",
"../resources/icons/refresh.png",])]
)
我也在使用IEHtmlWindow控件
发生的情况是,每当我在Python控制台发出命令时,py2exe都会运行一秒钟,输出如下:
运行py2exe
*搜索所需模块*
然后无限期地挂起,直到我按下Ctr+z
我已追踪到导入的问题:
从wx.lib.iewin导入IEHtmlWindow
这似乎是造成问题的原因
有什么建议吗?IEHtmlWindow实际上有两个版本。您可以尝试导入另一个:
from wx.lib.iewin_old import IEHtmlWindow
看看这是否有效。如果是的话,那就太棒了。如果没有,那么您可能应该交叉发送到py2exe邮件列表和/或wxPython邮件列表。解决了,问题是comtypes生成了一个非常大的模块文件,py2exe花了太多时间来解析该文件: comtypes.gen._3050F1C5_98B5_11CF_BB82_00AA00BDCE0B_0_4_0 解决方法是修补py2exe源代码(版本0.6.9),正如Erez Bibi在其文章中指出的: 现在是安装文件
options={
"py2exe": {
'packages': ['wx.lib.pubsub'],
'includes': ['comtypes.gen._3050F1C5_98B5_11CF_BB82_00AA00BDCE0B_0_4_0'],
'skip_scan': ['comtypes.gen._3050F1C5_98B5_11CF_BB82_00AA00BDCE0B_0_4_0']
}
},
一切似乎又恢复了正常