pyqt5 打包的 exe,无法在 win11 使用

2024-04-18 00:17:36 +08:00
 behindeye

之前有用 pyqt5 写一个程序,一直以来都运行的好好的,但最近,有部分用户反馈,自己的电脑突然无法打开程序了,点击 exe ,无反应,了解到他们都是最近系统有升级,才导致的。

然后我联系了几个用户,远程他们的电脑,尝试定位问题所在,但是我无论加日志、加终端显示、加 debug 模式,还是一闪而过,日志打开能知道的事执行 window 的 show 方法就失败了,也没崩溃,终端也没错误日志,程序没有反应。一直无法定位到具体的原因,折腾了快一个月了。

看看有没有大佬可以指教一下。怎么解决这个问题

3854 次点击
所在节点    Python
28 条回复
Cooky
2024-04-18 00:25:43 +08:00
程序解包运行有问题?
behindeye
2024-04-18 07:53:57 +08:00
@Cooky 不清楚呢
xljiulong2031
2024-04-18 08:18:32 +08:00
找台电脑升下级哈哈
Mianmiss
2024-04-18 08:49:25 +08:00
用他们的电脑,你直接运行 py 脚本试试?
behindeye
2024-04-18 09:22:55 +08:00
@Mianmiss 用户的电脑,也不好安装环境啥的
uijk
2024-04-18 09:25:32 +08:00
要把 python 的核心和其他依赖文件(那一堆 py 文件),一起考过去就可以。注意目录,目录不对就设置一下,就可以了。
behindeye
2024-04-18 09:32:05 +08:00
@uijk 是这样的,用的 pyinstaller 打包,相关的 dll 以及资源都打进去了,背景是在 win7 以及 win10 ,还有早起 win11 都是正常运行的,只是最近用户电脑更新了 win11 的某个更新,就无法运行了
ma836323493
2024-04-18 09:32:17 +08:00
找个 win11 试下就行了
neoshui
2024-04-18 09:47:48 +08:00
用终端启动程序,程序报错闪退后终端窗口还在,应该可以看到信息的
ZnductR0MjHvjRQ3
2024-04-18 09:48:29 +08:00
想请教一下 早上再用 pyqt6 然后用 Pyinstaller 打包 我的 pyqt 的代码中 icon 用了图片 然后其他代码中有大量相对路径的图片 这块一般是怎么处理的呀 是先读取图片转为 base64 导入吗还是打包的时候添加单独参数 我给 datas 那个文件夹中已经包含了我的 图片整个文件夹 似乎还是无法读取到
behindeye
2024-04-18 09:53:26 +08:00
@ma836323493 试过了,大部分可以,少部分不行,目前反馈有问题的大概有十几二十个人
behindeye
2024-04-18 09:53:47 +08:00
@AlexShui 终端停留了,但是没有错误信息……
behindeye
2024-04-18 09:55:57 +08:00
@Motorola3 这个我有经验,可以加我 vx:SmileV4
tomczhen
2024-04-18 10:23:53 +08:00
thinkershare
2024-04-18 10:40:49 +08:00
@behindeye Windows 上,任何奔溃的程序都有会转储和奔溃日志。使用事件查看器,看看操作系统记录的奔溃错误。
676529483
2024-04-18 10:42:15 +08:00
@Motorola3 打包时候--add-data ,代码里面用 bundle_dir = getattr(sys, '_MEIPASS', path.abspath(os.path.dirname(__file__)))找到路径
behindeye
2024-04-18 10:46:40 +08:00
@thinkershare 大佬能分享一下教程么
thinkershare
2024-04-18 10:51:46 +08:00
Win+R,打开运行,输入:eventvwr.msc ,回车,你就会打开 Windows 自带的程序日志查看器。除非你的程序是正常奔溃的,否则日志查看器下的:Windows 日志 > 应用程序下面肯定会有 crash 的原因。
neoshui
2024-04-18 12:25:55 +08:00
@behindeye #12 那这样就该去看看代码里面 try except 是怎么处理的,是不是有哪里直接 try except pass 了
icepie
2024-04-18 12:55:53 +08:00
用 nuitka 试试看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1033441

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX