python - Pyinstaller --onefile 模式,如何在解包前向控制台写入消息
问题描述
我有一个 .exe,我正在使用 pyinstaller 打包它,它就像一个魅力。但是,当单击 .exe 时,我必须等待近 10 秒,同时盯着空白的控制台窗口才能启动实际的应用程序。
根据我的研究,我推测这是因为 --onefile,所有打包的各种文件都需要在运行任何代码之前解包。我不担心 10 秒的等待,但新用户通常需要支持,因为他们认为程序无法正常工作(这是合理的)。
我的问题非常简单,但我想不出办法:无论如何让 pyinstaller 在解压之前运行一个小脚本,以便将状态信息发布到控制台,以便用户知道它正在工作?
解决方案
据我所知,目前无法在解包之前显示自定义消息以让用户知道应用程序正在运行。资源
有一些解决方法可以让用户知道程序正在运行。
显示控制台窗口
启动应用程序后显示控制台窗口将输出 PyInstaller 引导加载程序在打开时的状态。
要显示控制台, 请在捆绑应用程序时使用--console
标志(或编辑 .spec 文件以包含 )console = True
启用调试模式
要启用调试模式,请使用--debug
标志(或编辑 .spec 文件以包含debug = True
)
例子
exe = EXE(pyz,
//...
debug=True,
console=True )
推荐阅读
- python - 运行 matplotlib 绘图后 Scikit-learn 线性模型拟合返回值错误
- r - 如何使用 stringr 检测字符串中的整个单词
- visual-studio - 查找下一个 (F3) 在 Visual Studio 2019 中无法正常工作,突然跳转到另一个文档
- python - 在 Keras 中,我可以使用任意算法作为网络的损失函数吗?
- matlab - Matlab输入坐标形式为'(x,y)'
- azure - 已删除 azure 容器的 Azure 警报
- javascript - 在没有正确注销的情况下关闭应用程序时注销
- java - 如何在将响应返回给调用者时注销对 Spring WebFlux WebClient 请求的失败响应的主体?
- java - 将非 Json 字符串解析为 POJO
- python-3.x - 为什么在框架内使用“显式等待”会产生超时错误,但使用“time.sleep”有效?