neuladen, da ich normalerweise Ipython verwenden, um mit Code in der Entwicklung zu spielen, stoße ich auf die Situation, wo ich den Code einer Klasse ändern, nachdem ich es in Ipython importieren. Ich möchte die neue Klassendefinition neu laden, ohne ipython neu zu starten. Das Problem ist, dass die Reload-Funktion in ipython nur mit Modulen funktioniert.Wie kann ich eine Klassendefinition in ipython
suchte ich die Lösung für dieses Problem und fand ein vorheriges Thema: how to reload a Class in python shell?
Allerdings habe ich die Ansätze folgte, aber es hat nicht funktioniert. Ich denke, der Grund, warum es in diesem Thread funktioniert, ist, dass der Klassenname mit dem Modulnamen identisch ist, so dass er in sys.modules gefunden werden kann und somit gelöscht werden kann. Wenn sich der Klassenname von dem Modulnamen unterscheidet, kann dieser Ansatz nicht funktionieren.
Ich frage mich, ob es eine Lösung für dieses Problem gibt. Vielen Dank!
Hat der Autonachlademode erst nach dem Autonachlademode erstellt für die Klassenobjekte arbeitet aufgerufen wird? Ich hatte ein Klassenobjekt, das die Definition geändert hatte. Ich habe das Autoreload versucht, aber für dieses Klassenobjekt hat es nicht geklappt. Wenn ich jedoch nach dem Aufruf von autoreload ein anderes Klassenobjekt erstellt habe, kann das neue Klassenobjekt mit dem Code aktualisiert werden, der sich ständig ändert. – Wen
Ich bin mir nicht sicher über die Details, aber es funktioniert möglicherweise nur für Dinge, die erstellt werden, nachdem Autoreload aktiviert ist. –