首页 > 解决方案 > Pyinstaller --onefile 模式,如何在解包前向控制台写入消息

问题描述

我有一个 .exe,我正在使用 pyinstaller 打包它,它就像一个魅力。但是,当单击 .exe 时,我必须等待近 10 秒,同时盯着空白的控制台窗口才能启动实际的应用程序。

盯着这个看10秒

根据我的研究,我推测这是因为 --onefile,所有打包的各种文件都需要在运行任何代码之前解包。我不担心 10 秒的等待,但新用户通常需要支持,因为他们认为程序无法正常工作(这是合理的)。

我的问题非常简单,但我想不出办法:无论如何让 pyinstaller 在解压之前运行一个小脚本,以便将状态信息发布到控制台,以便用户知道它正在工作?

标签: pythonpyinstaller

解决方案


据我所知,目前无法在解包之前显示自定义消息以让用户知道应用程序正在运行。资源

有一些解决方法可以让用户知道程序正在运行。

显示控制台窗口

启动应用程序后显示控制台窗口将输出 PyInstaller 引导加载程序在打开时的状态。

要显示控制台, 请在捆绑应用程序时使用--console标志(或编辑 .spec 文件以包含 )console = True

启用调试模式

要启用调试模式,请使用--debug标志(或编辑 .spec 文件以包含debug = True

例子

exe = EXE(pyz,
          //...
          debug=True,
          console=True )

推荐阅读