Tengo un intérprete de python incrustado dentro de una aplicación. La aplicación tarda mucho tiempo en arrancar y no tengo la capacidad de reiniciar el intérprete sin reiniciar toda la aplicación. Lo que me gustaría hacer es esencialmente guardar el estado del intérprete y volver a ese estado fácilmente.Reiniciar un intérprete de Python silenciosamente
Comencé almacenando los nombres de todos los módulos en sys.modules con los que el intérprete de Python comenzó y luego eliminé todos los módulos nuevos de sys.modules cuando así lo solicitaba. Esto parece hacer que el intérprete esté preparado para volver a importar los mismos módulos aunque ya los haya importado antes. Sin embargo, esto no parece funcionar en todas las situaciones, como el uso de clases simples y métodos estáticos, etc.
Prefiero no incrustar otro intérprete dentro de este intérprete si puede evitarse, ya que la facilidad de ser capaz de usar las API de aplicaciones se perderá (y también incluirá un pequeño golpe de velocidad, imagino).
Entonces, ¿alguien sabe de una forma en que podría almacenar el estado del intérprete y luego volver a esto para que pueda hacer frente a todas las situaciones?
Gracias,
Dan
Esto se ve prometedor gracias, voy a ver esto con un poco más de profundidad. – Dan