diff options
-rw-r--r-- | mitmproxy/addons/script.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mitmproxy/addons/script.py b/mitmproxy/addons/script.py index 30fa740b..3e60fe67 100644 --- a/mitmproxy/addons/script.py +++ b/mitmproxy/addons/script.py @@ -24,12 +24,14 @@ def load_script(actx, path): # the fullname is not unique among scripts, so if there already is an existing script with said # fullname, remove it. sys.modules.pop(fullname, None) - loader = importlib.machinery.SourceFileLoader(fullname, path) try: oldpath = sys.path sys.path.insert(0, os.path.dirname(path)) with addonmanager.safecall(): - m = loader.load_module() + loader = importlib.machinery.SourceFileLoader(fullname, path) + spec = importlib.util.spec_from_loader(fullname, loader=loader) + m = importlib.util.module_from_spec(spec) + loader.exec_module(m) if not getattr(m, "name", None): m.name = path return m |