ya que suelo usar ipython para jugar con código en desarrollo, me encuentro con la situación en la que cambio el código de una clase después de importarlo a ipython. Quiero volver a cargar la nueva definición de clase sin reiniciar ipython. El problema es que la función de recarga en ipython solo funciona con módulos.¿Cómo puedo volver a cargar una definición de clase en ipython
que han buscado la solución a este problema y encontró un hilo anterior: how to reload a Class in python shell?
Sin embargo, he seguido los criterios allí, pero no funcionó. Creo que la razón por la que funciona en ese hilo es que el nombre de clase pasó a ser el mismo con el nombre del módulo, por lo que se puede encontrar en sys.modules y, por lo tanto, se puede eliminar. Cuando el nombre de la clase es diferente del nombre del módulo, ese enfoque no puede funcionar.
Me pregunto si hay solución a este problema. ¡Gracias!
hace es invocado la autoreload sólo funciona para los objetos de clase creados después de la autoreload? Tenía un objeto de clase que la definición había sido modificada. Intenté la autorecarga pero no funcionó para ese objeto de clase. Pero cuando creé otro objeto de clase después de invocar la autorrecarga, el nuevo objeto de clase puede actualizarse con el código que está cambiando constantemente. – Wen
No estoy seguro de los detalles, pero es posible que solo funcione para los elementos creados después de habilitar la recarga automática. –