Python Pyinstaller在文件提取期间添加启动屏幕或视觉反馈

Python Pyinstaller在文件提取期间添加启动屏幕或视觉反馈,python,pyinstaller,Python,Pyinstaller,我使用--onefile参数使用Pyinstaller创建了一个单文件python应用程序。 一切正常,但在我的机器上启动时间约为10秒。问题在于,在Pyinstaller包的文件解包过程中,没有视觉反馈,因此您不知道应用程序是否正在启动,甚至不知道是否确实单击了图标。如果机器运行缓慢,这个问题会变得更严重(在我使用非常旧的机器进行测试时,我需要大约20秒才能看到应用程序的首次登录) 有没有一种方法可以在Pyinstaller引导过程中创建一些初始屏幕或视觉反馈(比如解包时的进度条) 请注意问题

我使用--onefile参数使用Pyinstaller创建了一个单文件python应用程序。 一切正常,但在我的机器上启动时间约为10秒。问题在于,在Pyinstaller包的文件解包过程中,没有视觉反馈,因此您不知道应用程序是否正在启动,甚至不知道是否确实单击了图标。如果机器运行缓慢,这个问题会变得更严重(在我使用非常旧的机器进行测试时,我需要大约20秒才能看到应用程序的首次登录) 有没有一种方法可以在Pyinstaller引导过程中创建一些初始屏幕或视觉反馈(比如解包时的进度条)

请注意问题是关于Pyinstaller解包过程之前真正的应用程序将不会由已经有自己启动屏幕的应用程序本身执行

多谢各位

2018年1月19日-更新1
我的应用程序是完整的GUI,因此我不希望在解包过程中将控制台用作“视觉反馈”。

一个简单的解决方案可能是在启动应用程序后显示控制台窗口,该窗口将在PyInstaller引导加载程序打开时输出其状态


要显示控制台,请在绑定应用程序时使用
--console
标志(或编辑.spec文件以包含
console=True
)。这些选项记录在PyInstaller中。

我自己也一直在努力解决这个问题。不幸的是,除了使用丑陋的控制台(完全同意),没有可行的解决方案

这个问题源于这样一个事实,在PyInstaller将所有文件解压到temp dir中之前,不会运行任何脚本。根据我的研究,使用PyInstaller中当前可用的选项无法更改此功能。如果PyInstaller背后的社区能够将此作为模块的标准功能,那就太好了,但在此之前,我们可能不得不探索其他安装程序选项


快乐编程

hi@ApoGalaction,目前我已经在使用这个解决方案,但是在一个完整的GUI应用程序中,你会看到一个控制台。如果你在应用程序的main.py文件中添加了一个启动屏幕(即使在大多数导入语句之前),它仍然不会显示,直到PyInstaller引导加载程序完成,这需要相当长的时间。解决这个问题的一种方法可能是创建一个新的应用程序,其唯一目的是显示初始屏幕,然后使用python subprocess.run命令启动主应用程序(与pyinstaller捆绑)。此外,如果不使用--onefile标志捆绑应用程序,则该应用程序将运行得更快。另一个解决方案是使用打包应用程序。类似的讨论见此。已经2年了,但如果你不编译成
--onefile
,它将更快地打开你的应用程序,而不是使用
-D