Versión recursiva de 'recargar'

Cuando estoy desarrollando el código Python, normalmente lo pruebo de forma ad hoc en el intérprete. Enfermoimport some_module, pruébelo, encuentre un error, corríjalo y guárdelo, y luego use el comando incorporadoreload función parareload(some_module) y prueba de nuevo.

Sin embargo, supongamos que ensome_module yo tengoimport some_other_module, y mientras pruebasome_module Descubro un error ensome_other_module y arreglarlo. Ahora llamandoreload(some_module) no volverá a importar recursivamentesome_other_module. Tengo que reimportar manualmente la dependencia (haciendo algo comoreload(some_module.some_other_module)oimport some_other_module; reload(some_other_module), o, si he cambiado un montón de dependencias y perdido la pista de lo que necesito recargar, debo reiniciar todo el intérprete.

Lo que sería más conveniente es que si hubiera algunarecursive_reload función, y yo podría hacerrecursive_reload(some_module) y tener a Python no solo recargarsome_module, pero también recursivamente recarga cada módulo quesome_module Importa (y todos los módulos que importa cada uno de esos módulos, y así sucesivamente) para que pueda estar seguro de que no estaba usando una versión antigua de ninguno de los otros módulos en los quesome_module depende

No creo que haya nada incorporado en Python que se comporte como elrecursive_reload función que describo aquí, pero ¿hay una manera fácil de hackear algo así juntos?

Respuestas a la pregunta(7)

Su respuesta a la pregunta