pyinstaller 打包动态加载模块失效的问题

totola147 2020-04-02 06:24:42
背景:
我程序用到了一些个比较大的包,即便是from xxx import xxx 依然还是很大,仅仅加载模块就需要1s;而这个包并不是在每种运行场景下都需要,所以我把包的import 做到了逻辑代码里,用到时在加载(懒加载),通过测试确实奏效了,但是因为程序需要使用pyinstaller 打包,打包后这些懒加载的模块的懒加载效果都消失了,执行未使用模块的逻辑代码,执行耗时依然很慢;下图分别是 不打包,和打包后的执行耗时;



问题:
如何使得用pyinstaller 打包的程序懒加载不失效,我猜测,pyinstaller 在打包的过程中会检测当前用到了哪些包 然后全部打到包里 然后逻辑代码每次执行前先全部加载所有模块,是否有那么一种方法可以避免这种情况

...全文
400 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧