之前有用 pyqt5 写一个程序,一直以来都运行的好好的,但最近,有部分用户反馈,自己的电脑突然无法打开程序了,点击 exe ,无反应,了解到他们都是最近系统有升级,才导致的。
然后我联系了几个用户,远程他们的电脑,尝试定位问题所在,但是我无论加日志、加终端显示、加 debug 模式,还是一闪而过,日志打开能知道的事执行 window 的 show 方法就失败了,也没崩溃,终端也没错误日志,程序没有反应。一直无法定位到具体的原因,折腾了快一个月了。
看看有没有大佬可以指教一下。怎么解决这个问题
1
Cooky 245 天前
程序解包运行有问题?
|
3
xljiulong2031 245 天前
找台电脑升下级哈哈
|
4
Mianmiss 245 天前
用他们的电脑,你直接运行 py 脚本试试?
|
6
uijk 245 天前
要把 python 的核心和其他依赖文件(那一堆 py 文件),一起考过去就可以。注意目录,目录不对就设置一下,就可以了。
|
7
behindeye OP @uijk 是这样的,用的 pyinstaller 打包,相关的 dll 以及资源都打进去了,背景是在 win7 以及 win10 ,还有早起 win11 都是正常运行的,只是最近用户电脑更新了 win11 的某个更新,就无法运行了
|
8
ma836323493 245 天前
找个 win11 试下就行了
|
9
AlexShui 245 天前
用终端启动程序,程序报错闪退后终端窗口还在,应该可以看到信息的
|
10
ZnductR0MjHvjRQ3 245 天前
想请教一下 早上再用 pyqt6 然后用 Pyinstaller 打包 我的 pyqt 的代码中 icon 用了图片 然后其他代码中有大量相对路径的图片 这块一般是怎么处理的呀 是先读取图片转为 base64 导入吗还是打包的时候添加单独参数 我给 datas 那个文件夹中已经包含了我的 图片整个文件夹 似乎还是无法读取到
|
11
behindeye OP @ma836323493 试过了,大部分可以,少部分不行,目前反馈有问题的大概有十几二十个人
|
15
thinkershare 245 天前
@behindeye Windows 上,任何奔溃的程序都有会转储和奔溃日志。使用事件查看器,看看操作系统记录的奔溃错误。
|
16
676529483 245 天前
@Motorola3 打包时候--add-data ,代码里面用 bundle_dir = getattr(sys, '_MEIPASS', path.abspath(os.path.dirname(__file__)))找到路径
|
17
behindeye OP @thinkershare 大佬能分享一下教程么
|
18
thinkershare 245 天前
Win+R,打开运行,输入:eventvwr.msc ,回车,你就会打开 Windows 自带的程序日志查看器。除非你的程序是正常奔溃的,否则日志查看器下的:Windows 日志 > 应用程序下面肯定会有 crash 的原因。
|
20
icepie 244 天前
用 nuitka 试试看
|
21
makejohn2015 244 天前
用 virtualenv 重新弄一个环境,然后连环境一起打包到客户电脑,运行一下看看
|
22
ktyang 244 天前
我用 nuitka 打包 qt 在本机都打不开。。。好在我这边界面功能简单,转头直接用 tk 重新撸了个,就没再管过了。
|
23
d20240326 244 天前
最好的办法是不用 python ,因为 python 不知道 Windows 上还有一个 python.
但 python 以外的编程语言/解释器知道。 例如 不要 python.exe 而是 myPython3.exe 之类的命名 win10 和 11 有 python.exe 实际上用 python 写的跨平台项目很多,建议参考他们是如何实现的。 |
24
cnbatch 244 天前
中文 exe 不能运行?
我在自己的 Win11 机器把随便下载的几个 exe 改成了中文,然后运行,可以用啊 Windows Update 没关闭,已经自动安装最新的各种 patch |
26
llsquaer 243 天前
你这么一说,发现之前打包的 pyqt 就有报告说 win11 无法运行...估计就是我是中文 py,直接打包的中文 exe
|
27
vialon17 224 天前
的确,遇到过问题,打包的 qt exe 不能用中文,否则报错;
安装了 400+台客户机,遇到差不多 10 多台有直接停止运行的问题,遇到这种都直接扔了,暂时没考虑,嘻嘻。 |