Jupyter: "from mymodule import *" Wildcard-Imports neu laden

In unserem vorherigen Beitrag How to reload import in Jupyter haben wir gezeigt, wie man reload() aus importlib verwendet, um ein Modul neu zu laden, ohne den Kernel neu zu starten.

reload_mymodule.py
import mymodule
# .py-Datei jedes Mal neu laden, wenn wir die Zelle ausführen
from importlib import reload
reload(mymodule)

Oft verwenden wir jedoch eine Syntax wie

wildcard_import_example.py
from mymodule import *

um alles aus mymodule importierte per Wildcard zu laden.

Wir können diese Wildcard-Imports mit derselben Strategie neu laden, indem wir zusätzlich mymodule importieren und dann mit reload(mymodule) neu laden — dies lädt auch den Wildcard-Import from mymodule import * neu!

reload_wildcard_example.py
from mymodule import *

# Diese Zeile dient nur zur Erleichterung des Neuladens
import mymodule
from importlib import reload
reload(mymodule)
# .py-Datei jedes Mal neu laden, wenn wir die Zelle ausführen from importlib import reload reload(mymodule)

Check out similar posts by category: Python