diff --git a/python/helpers/pydev/_pydev_bundle/pydev_umd.py b/python/helpers/pydev/_pydev_bundle/pydev_umd.py index 224676fa6fd4..b434fc6cd26c 100644 --- a/python/helpers/pydev/_pydev_bundle/pydev_umd.py +++ b/python/helpers/pydev/_pydev_bundle/pydev_umd.py @@ -156,7 +156,7 @@ def runfile(filename, args=None, wdir=None, is_module=False, global_vars=None): __umd__.run(verbose=verbose) if global_vars is None: - m = save_main_module(filename) + m = save_main_module(filename, 'pydev_umd') global_vars = m.__dict__ try: global_vars['__builtins__'] = __builtins__ diff --git a/python/helpers/pydev/_pydevd_bundle/pydevd_utils.py b/python/helpers/pydev/_pydevd_bundle/pydevd_utils.py index 755116c55c6f..d346ef149c51 100644 --- a/python/helpers/pydev/_pydevd_bundle/pydevd_utils.py +++ b/python/helpers/pydev/_pydevd_bundle/pydevd_utils.py @@ -13,19 +13,20 @@ import sys from _pydev_bundle import pydev_log -def save_main_module(file): +def save_main_module(file, module_name): # patch provided by: Scott Schlesier - when script is run, it does not # use globals from pydevd: # This will prevent the pydevd script from contaminating the namespace for the script to be debugged # pretend pydevd is not the main module, and # convince the file to be debugged that it was loaded as main - original_main = sys.modules['__main__'] + sys.modules[module_name] = sys.modules['__main__'] + sys.modules[module_name].__name__ = module_name from imp import new_module m = new_module('__main__') sys.modules['__main__'] = m - if hasattr(original_main, '__loader__'): - m.__loader__ = getattr(original_main, '__loader__') + if hasattr(sys.modules[module_name], '__loader__'): + m.__loader__ = getattr(sys.modules[module_name], '__loader__') m.__file__ = file return m diff --git a/python/helpers/pydev/pydevconsole.py b/python/helpers/pydev/pydevconsole.py index bc629b3eae05..d8ea988a3b8a 100644 --- a/python/helpers/pydev/pydevconsole.py +++ b/python/helpers/pydev/pydevconsole.py @@ -72,7 +72,7 @@ class InterpreterInterface(BaseInterpreterInterface): self._input_error_printed = False def save_main(self): - m = save_main_module('') + m = save_main_module('', 'pydevconsole') self.namespace = m.__dict__ try: self.namespace['__builtins__'] = __builtins__ diff --git a/python/helpers/pydev/pydevd.py b/python/helpers/pydev/pydevd.py index 1ee93092853a..c96745480cf2 100644 --- a/python/helpers/pydev/pydevd.py +++ b/python/helpers/pydev/pydevd.py @@ -1013,7 +1013,7 @@ class PyDB: file = new_target if globals is None: - m = save_main_module(file) + m = save_main_module(file, 'pydevd') globals = m.__dict__ try: globals['__builtins__'] = __builtins__