使用PyInstaller创建的应用启动缓慢
我有一个用Python编写的应用程序,并与PyInstaller进行了“编译”。它还将PyQt用于GUI框架。
加载并显示主窗口之前,运行此应用程序大约有10秒钟的延迟。据我所知,这不是由于我的代码慢。相反,我怀疑这是由于Python运行时初始化引起的。
问题在于此应用程序是使用自定义laucncher /
taskbar应用程序启动的。用户将单击按钮启动该应用程序,看不到任何反应,然后单击另一个应用程序上的其他位置。当我的应用程序显示它的窗口时,由于SetForegroundWindow的规则,它无法进入前台。
我可以访问PyInstaller win32加载器,Python代码甚至启动器代码的源代码。
我的问题是:
如何使该应用程序启动更快?
我如何衡量流程生命周期的前几秒所花费的时间?
减少显示第一个窗口所需时间的普遍接受的技术是什么?
我想避免添加启动画面,原因有二:一,我希望它没有帮助(开销在运行Python代码之前),二,我只是不喜欢启动画面:)
如果需要的话,我可能可以编辑PyInstaller加载程序存根以创建一个窗口,但这是我不希望采用的另一种方法。
回答:
我已经使用py2exe和cx_Freeze“编译”了一些wxPython应用程序,它们都不会花费超过4秒钟的时间来启动。
- 您确定不是您的代码吗?也许有一些网络或一些I / O资源调用使您的应用程序停滞不前?
- 您是否尝试过其他机器?有时,即使是最快的硬件也可能因使用错误的软件配置,应用或操作系统而变慢,请尝试一下。
- 尝试使用timeit模块对其计时。
我从未使用过pyQT,但是使用wxPython时,启动速度还可以,并且在第一次初始化后,如果我再次关闭并再次打开,它的速度将比第一次快。
以上是 使用PyInstaller创建的应用启动缓慢 的全部内容, 来源链接: utcz.com/qa/419217.html