我在应用程序中嵌入了一个python解释器.应用程序需要很长时间才能启动,我无法在不重新启动整个应用程序的情况下重新启动解释器.我想要做的是基本上保存解释器的状态并轻松返回到该状态.
我首先将所有模块的名称存储在python解释器启动的sys.modules中,然后在请求时从sys.modules中删除所有新模块.这似乎使得解释器准备重新导入相同的模块,即使它之前已经导入过它们.但是,这似乎并不适用于所有情况,例如使用单例类和静态方法等.
如果可以避免的话,我宁愿不在这个解释器中嵌入另一个解释器,因为能够使用应用程序API的容易性将会丢失(以及包括我想象的轻微速度命中).
那么,有没有人知道我可以存储解释器的状态,然后返回到这个,以便它可以应对所有情况?
谢谢,
担