做网站需要关注哪些,集团企业网站建设方案策划书,免费发布信息网网站,企业邮箱后缀一、问题
使用wxPython创建一个图形界面#xff0c;在VSCODE中正常运行#xff0c;但是打包后#xff0c;却不能运行#xff0c;只出现一个一闪而过的窗口#xff0c;这时最需要看看这窗口到底显示了什么内容。这里可以使用录屏软件录制屏幕#xff0c;这里使用LICEcap小…一、问题
使用wxPython创建一个图形界面在VSCODE中正常运行但是打包后却不能运行只出现一个一闪而过的窗口这时最需要看看这窗口到底显示了什么内容。这里可以使用录屏软件录制屏幕这里使用LICEcap小软件进行屏幕录制。
二、分析
找到黑色框出现的地方 可以清晰看到报错地方出现在wxPython库里richtext.py中17行找到该文件 浏览wx库文件搜索._richtext文件发现是以.pyd结尾的文件这是Python的扩展模块文件。它们是使用C或C编写的动态链接库可以被Python解释器加载和使用。在Windows上.pyd文件通常被称为Python Dynamic Link Library可以通过import语句在Python代码中导入和使用。
这里猜测打包时没有将用到的动态链接库打包进去。为了验证想法我们再次打个包打包前将生成单一exe的指令去掉变成这样。这里的speech目录是python虚拟环境目录
nuitka --standalone 南瓜饼Cookie查看.py --windows-disable-console --windows-icon-from-ico.\icon\icon.ico --output-dirout --output-filename南瓜饼Cookie查看.exe --remove-output --include-data-diriconicon打包成功进入生成的文件目录找到wx目录发现仅有以下几个文件。 确实是没有pyd文件那么下面给他手动加上。
三、解决方法
进行speech虚拟环境目录将可能相关的动态链接库拷贝到打包后的目录中。 1、找到虚拟环境中的pyd文件 拷贝 再次运行之前生成的可执行文件已经能够执行 四、小结 wxPython图形库底层是用C编写上层用python封装pyd文件是C库打包文件时不会自动打包进exe文件要手动添加。