def _get_module_details(mod_name): loader = get_loader(mod_name) if loader is None: raise ImportError("No module named %s" % mod_name) if loader.is_package(mod_name): raise ImportError(("%s is a package and cannot " + "be directly executed") % mod_name) code = loader.get_code(mod_name) if code is None: raise ImportError("No code object available for %s" % mod_name) filename = _get_filename(loader, mod_name) return loader, code, filename
def _get_module_details(mod_name): loader = get_loader(mod_name) if loader is None: raise ImportError("No module named %s" % mod_name) if loader.is_package(mod_name): if mod_name == "__main__" or mod_name.endswith(".__main__"): raise ImportError("Cannot use package as __main__ module") try: pkg_main_name = mod_name + ".__main__" return _get_module_details(pkg_main_name) except ImportError, e: raise ImportError(("%s; %r is a package and cannot " + "be directly executed") %(e, mod_name))
def _get_module_details(mod_name): loader = get_loader(mod_name) if loader is None: raise ImportError("No module named %s" % mod_name) if loader.is_package(mod_name): raise ImportError( ("%s is a package and cannot " + "be directly executed") % mod_name) code = loader.get_code(mod_name) if code is None: raise ImportError("No code object available for %s" % mod_name) filename = _get_filename(loader, mod_name) return loader, code, filename
def run_module(mod_name, init_globals=None, run_name=None, alter_sys=False): """Execute a module's code without importing it Returns the resulting top level namespace dictionary """ loader = get_loader(mod_name) if loader is None: raise ImportError("No module named " + mod_name) code = loader.get_code(mod_name) if code is None: raise ImportError("No code object available for " + mod_name) filename = _get_filename(loader, mod_name) if run_name is None: run_name = mod_name return _run_module_code(code, init_globals, run_name, filename, loader, alter_sys)
def _get_module_details(mod_name): loader = get_loader(mod_name) if loader is None: raise ImportError("No module named %s" % mod_name) if loader.is_package(mod_name): if mod_name == "__main__" or mod_name.endswith(".__main__"): raise ImportError("Cannot use package as __main__ module") try: pkg_main_name = mod_name + ".__main__" return _get_module_details(pkg_main_name) except ImportError as e: raise ImportError(("%s; %r is a package and cannot " + "be directly executed") %(e, mod_name)) code = loader.get_code(mod_name) if code is None: raise ImportError("No code object available for %s" % mod_name) filename = _get_filename(loader, mod_name) return mod_name, loader, code, filename
def _get_module_details(mod_name, error=ImportError): try: loader = get_loader(mod_name) if loader is None: raise error("No module named %s" % mod_name) ispkg = loader.is_package(mod_name) except ImportError as e: raise error(format(e)) if ispkg: if mod_name == "__main__" or mod_name.endswith(".__main__"): raise error("Cannot use package as __main__ module") __import__(mod_name) # Do not catch exceptions initializing package try: pkg_main_name = mod_name + ".__main__" return _get_module_details(pkg_main_name) except ImportError, e: raise error(("%s; %r is a package and cannot " + "be directly executed") %(e, mod_name))
def _get_module_details(mod_name): loader = get_loader(mod_name) if loader is None: raise ImportError('No module named %s' % mod_name) if loader.is_package(mod_name): if mod_name == '__main__' or mod_name.endswith('.__main__'): raise ImportError('Cannot use package as __main__ module') try: pkg_main_name = mod_name + '.__main__' return _get_module_details(pkg_main_name) except ImportError as e: raise ImportError(('%s; %r is a package and cannot ' + 'be directly executed') % (e, mod_name)) code = loader.get_code(mod_name) if code is None: raise ImportError('No code object available for %s' % mod_name) filename = _get_filename(loader, mod_name) return ( mod_name, loader, code, filename)
def _get_module_details(mod_name): loader = get_loader(mod_name) if loader is None: raise ImportError('No module named %s' % mod_name) if loader.is_package(mod_name): if mod_name == '__main__' or mod_name.endswith('.__main__'): raise ImportError('Cannot use package as __main__ module') try: pkg_main_name = mod_name + '.__main__' return _get_module_details(pkg_main_name) except ImportError as e: raise ImportError(('%s; %r is a package and cannot ' + 'be directly executed') % (e, mod_name)) code = loader.get_code(mod_name) if code is None: raise ImportError('No code object available for %s' % mod_name) filename = _get_filename(loader, mod_name) return (mod_name, loader, code, filename)
def _get_module_details(mod_name, error=ImportError): try: loader = get_loader(mod_name) if loader is None: if mod_name == "pip": # pypy extension mod_name += (' (to install pip, you need to run once' ' "%s -m ensurepip")' % (sys.executable,)) raise error("No module named %s" % mod_name) ispkg = loader.is_package(mod_name) except ImportError as e: raise error(format(e)) if ispkg: if mod_name == "__main__" or mod_name.endswith(".__main__"): raise error("Cannot use package as __main__ module") __import__(mod_name) # Do not catch exceptions initializing package try: pkg_main_name = mod_name + ".__main__" return _get_module_details(pkg_main_name) except ImportError, e: raise error(("%s; %r is a package and cannot " + "be directly executed") %(e, mod_name))