pyinstaller --onefile模式,如何在解压缩前向控制台写入消息

时间:2019-05-03 19:55:31

标签: python pyinstaller

我有一个使用pyinstaller打包的.exe,它的工作原理很像。但是,单击.exe时,我必须等待近10秒钟,同时盯着空白的控制台窗口才能启动实际的应用程序。

10 seconds of staring at this

从我的研究中,我推测这是由于--onefile引起的,打包的所有各种文件都需要在运行任何代码之前解压。我并不担心等待10秒,但是新用户经常需要支持,因为他们认为该程序无法正常工作(合理地如此)。

我的问题非常简单,但是我找不到解决方法:是否有必要让pyinstaller在打开包装之前运行一个小的脚本,以便将状态信息发布到控制台,所以用户知道它正在工作吗?

2 个答案:

答案 0 :(得分:0)

据我所知,当前无法在打开包装之前显示自定义消息,以使用户知道应用程序正在运行。 Source

有一些变通办法可以让用户知道程序正在运行。

显示控制台窗口

启动应用程序后显示控制台窗口,将在打开PyInstaller Bootloader时输出其状态。

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

启用调试模式

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

示例

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

答案 1 :(得分:0)

您始终可以将程序包装到7zip安装程序中。您可以在运行主程序之前添加一个快速的Shell脚本,说“正在加载...”,也可以只编辑config.txt来执行相同的操作。

How do I make a self extract and running installer