Python sys.meta_path() Examples
The following are 30
code examples of sys.meta_path().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
sys
, or try the search function
.

Example #1
Source File: __init__.py From jawfish with MIT License | 7 votes |
def find_loader(name, path=None): """Find the loader for the specified module. First, sys.modules is checked to see if the module was already imported. If so, then sys.modules[name].__loader__ is returned. If that happens to be set to None, then ValueError is raised. If the module is not in sys.modules, then sys.meta_path is searched for a suitable loader with the value of 'path' given to the finders. None is returned if no loader could be found. Dotted names do not have their parent packages implicitly imported. You will most likely need to explicitly import all parent packages in the proper order for a submodule to get the correct loader. """ try: loader = sys.modules[name].__loader__ if loader is None: raise ValueError('{}.__loader__ is None'.format(name)) else: return loader except KeyError: pass return _bootstrap._find_module(name, path)
Example #2
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 7 votes |
def remove_hooks(scrub_sys_modules=False): """ This function removes the import hook from sys.meta_path. """ if PY3: return flog.debug('Uninstalling hooks ...') # Loop backwards, so deleting items keeps the ordering: for i, hook in list(enumerate(sys.meta_path))[::-1]: if hasattr(hook, 'RENAMER'): del sys.meta_path[i] # Explicit is better than implicit. In the future the interface should # probably change so that scrubbing the import hooks requires a separate # function call. Left as is for now for backward compatibility with # v0.11.x. if scrub_sys_modules: scrub_future_sys_modules()
Example #3
Source File: __init__.py From verge3d-blender-addon with GNU General Public License v3.0 | 6 votes |
def install_hooks(): """ This function installs the future.standard_library import hook into sys.meta_path. """ if PY3: return install_aliases() flog.debug('sys.meta_path was: {0}'.format(sys.meta_path)) flog.debug('Installing hooks ...') # Add it unless it's there already newhook = RenameImport(RENAMES) if not detect_hooks(): sys.meta_path.append(newhook) flog.debug('sys.meta_path is now: {0}'.format(sys.meta_path))
Example #4
Source File: __init__.py From verge3d-blender-addon with GNU General Public License v3.0 | 6 votes |
def remove_hooks(scrub_sys_modules=False): """ This function removes the import hook from sys.meta_path. """ if PY3: return flog.debug('Uninstalling hooks ...') # Loop backwards, so deleting items keeps the ordering: for i, hook in list(enumerate(sys.meta_path))[::-1]: if hasattr(hook, 'RENAMER'): del sys.meta_path[i] # Explicit is better than implicit. In the future the interface should # probably change so that scrubbing the import hooks requires a separate # function call. Left as is for now for backward compatibility with # v0.11.x. if scrub_sys_modules: scrub_future_sys_modules()
Example #5
Source File: __init__.py From verge3d-blender-addon with GNU General Public License v3.0 | 6 votes |
def detect_hooks(): """ Returns True if the import hooks are installed, False if not. """ flog.debug('Detecting hooks ...') present = any([hasattr(hook, 'RENAMER') for hook in sys.meta_path]) if present: flog.debug('Detected.') else: flog.debug('Not detected.') return present # As of v0.12, this no longer happens implicitly: # if not PY3: # install_hooks()
Example #6
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 6 votes |
def install_hooks(): """ This function installs the future.standard_library import hook into sys.meta_path. """ if PY3: return install_aliases() flog.debug('sys.meta_path was: {0}'.format(sys.meta_path)) flog.debug('Installing hooks ...') # Add it unless it's there already newhook = RenameImport(RENAMES) if not detect_hooks(): sys.meta_path.append(newhook) flog.debug('sys.meta_path is now: {0}'.format(sys.meta_path))
Example #7
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 6 votes |
def install_hooks(): """ This function installs the future.standard_library import hook into sys.meta_path. """ if PY3: return install_aliases() flog.debug('sys.meta_path was: {0}'.format(sys.meta_path)) flog.debug('Installing hooks ...') # Add it unless it's there already newhook = RenameImport(RENAMES) if not detect_hooks(): sys.meta_path.append(newhook) flog.debug('sys.meta_path is now: {0}'.format(sys.meta_path))
Example #8
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 6 votes |
def remove_hooks(scrub_sys_modules=False): """ This function removes the import hook from sys.meta_path. """ if PY3: return flog.debug('Uninstalling hooks ...') # Loop backwards, so deleting items keeps the ordering: for i, hook in list(enumerate(sys.meta_path))[::-1]: if hasattr(hook, 'RENAMER'): del sys.meta_path[i] # Explicit is better than implicit. In the future the interface should # probably change so that scrubbing the import hooks requires a separate # function call. Left as is for now for backward compatibility with # v0.11.x. if scrub_sys_modules: scrub_future_sys_modules()
Example #9
Source File: wheel.py From recruit with Apache License 2.0 | 6 votes |
def mount(self, append=False): pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) if not self.is_compatible(): msg = 'Wheel %s not compatible with this Python.' % pathname raise DistlibException(msg) if not self.is_mountable(): msg = 'Wheel %s is marked as not mountable.' % pathname raise DistlibException(msg) if pathname in sys.path: logger.debug('%s already in path', pathname) else: if append: sys.path.append(pathname) else: sys.path.insert(0, pathname) extensions = self._get_extensions() if extensions: if _hook not in sys.meta_path: sys.meta_path.append(_hook) _hook.add(pathname, extensions)
Example #10
Source File: dev_appserver_import_hook.py From browserscope with Apache License 2.0 | 6 votes |
def _FakeProxyBypassHelper(fn, original_module_dict=sys.modules.copy(), original_uname=os.uname): """Setups and restores the state for the Mac OS X urllib fakes.""" def Inner(*args, **kwargs): current_uname = os.uname current_meta_path = sys.meta_path[:] current_modules = sys.modules.copy() try: sys.modules.clear() sys.modules.update(original_module_dict) sys.meta_path[:] = [] os.uname = original_uname return fn(*args, **kwargs) finally: sys.modules.clear() sys.modules.update(current_modules) os.uname = current_uname sys.meta_path[:] = current_meta_path return Inner
Example #11
Source File: dev_appserver.py From browserscope with Apache License 2.0 | 6 votes |
def ResetModules(self): """Clear modules so that when request is run they are reloaded.""" lib_config._default_registry.reset() self._modules.clear() self._modules.update(self._default_modules) sys.path_hooks[:] = self._save_path_hooks sys.meta_path = [] apiproxy_stub_map.apiproxy.GetPreCallHooks().Clear() apiproxy_stub_map.apiproxy.GetPostCallHooks().Clear()
Example #12
Source File: wheel.py From jbox with MIT License | 6 votes |
def mount(self, append=False): pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) if not self.is_compatible(): msg = 'Wheel %s not compatible with this Python.' % pathname raise DistlibException(msg) if not self.is_mountable(): msg = 'Wheel %s is marked as not mountable.' % pathname raise DistlibException(msg) if pathname in sys.path: logger.debug('%s already in path', pathname) else: if append: sys.path.append(pathname) else: sys.path.insert(0, pathname) extensions = self._get_extensions() if extensions: if _hook not in sys.meta_path: sys.meta_path.append(_hook) _hook.add(pathname, extensions)
Example #13
Source File: __init__.py From python-netsurv with MIT License | 6 votes |
def register_assert_rewrite(*names): """Register one or more module names to be rewritten on import. This function will make sure that this module or all modules inside the package will get their assert statements rewritten. Thus you should make sure to call this before the module is actually imported, usually in your __init__.py if you are a plugin using a package. :raise TypeError: if the given module names are not strings. """ for name in names: if not isinstance(name, str): msg = "expected module names as *args, got {0} instead" raise TypeError(msg.format(repr(names))) for hook in sys.meta_path: if isinstance(hook, rewrite.AssertionRewritingHook): importhook = hook break else: importhook = DummyRewriteHook() importhook.mark_rewrite(*names)
Example #14
Source File: httpimport.py From httpimport with Apache License 2.0 | 6 votes |
def _add_git_repo(url_builder, username=None, repo=None, module=None, branch=None, commit=None, **kw): ''' Function that creates and adds to the 'sys.meta_path' an HttpImporter object equipped with a URL of a Online Git server. The 'url_builder' parameter is a function that accepts the username, repo and branch/commit, and creates a HTTP/S URL of a Git server. Compatible functions are '__create_github_url', '__create_bitbucket_url'. The 'username' parameter defines the Github username which is the repository's owner. The 'repo' parameter defines the name of the repo that contains the modules/packages to be imported. The 'module' parameter is optional and is a list containing the modules/packages that are available in the chosen Github repository. If it is not provided, it defaults to the repositories name, as it is common that the a Python repository at "github.com/someuser/somereponame" contains a module/package of "somereponame". The 'branch' and 'commit' parameters cannot be both populated at the same call. They specify the branch (last commit) or specific commit, that should be served. ''' if username == None or repo == None: raise Error("'username' and 'repo' parameters cannot be None") if commit and branch: raise Error("'branch' and 'commit' parameters cannot be both set!") if commit: branch = commit if not branch: branch = 'master' if not module: module = repo if type(module) == str: module = [module] url = url_builder(username, repo, branch, **kw) return add_remote_repo(module, url)
Example #15
Source File: wheel.py From Python24 with MIT License | 6 votes |
def mount(self, append=False): pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) if not self.is_compatible(): msg = 'Wheel %s not compatible with this Python.' % pathname raise DistlibException(msg) if not self.is_mountable(): msg = 'Wheel %s is marked as not mountable.' % pathname raise DistlibException(msg) if pathname in sys.path: logger.debug('%s already in path', pathname) else: if append: sys.path.append(pathname) else: sys.path.insert(0, pathname) extensions = self._get_extensions() if extensions: if _hook not in sys.meta_path: sys.meta_path.append(_hook) _hook.add(pathname, extensions)
Example #16
Source File: wheel.py From kobo-predict with BSD 2-Clause "Simplified" License | 6 votes |
def mount(self, append=False): pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) if not self.is_compatible(): msg = 'Wheel %s not compatible with this Python.' % pathname raise DistlibException(msg) if not self.is_mountable(): msg = 'Wheel %s is marked as not mountable.' % pathname raise DistlibException(msg) if pathname in sys.path: logger.debug('%s already in path', pathname) else: if append: sys.path.append(pathname) else: sys.path.insert(0, pathname) extensions = self._get_extensions() if extensions: if _hook not in sys.meta_path: sys.meta_path.append(_hook) _hook.add(pathname, extensions)
Example #17
Source File: _hook.py From apm-python-agent-principle with MIT License | 5 votes |
def load_module(self, fullname): print('load_module {}'.format(fullname)) if fullname in sys.modules: return sys.modules[fullname] # 先从 sys.meta_path 中删除自定义的 finder # 防止下面执行 import_module 的时候再次触发此 finder # 从而出现递归调用的问题 finder = sys.meta_path.pop(0) # 导入 module module = importlib.import_module(fullname) module_hook(fullname, module) sys.meta_path.insert(0, finder) return module
Example #18
Source File: hook.py From apm-python-agent-principle with MIT License | 5 votes |
def load_module(self, fullname): print('load_module {}'.format(fullname)) if fullname in sys.modules: return sys.modules[fullname] # 先从 sys.meta_path 中删除自定义的 finder # 防止下面执行 import_module 的时候再次触发此 finder # 从而出现递归调用的问题 finder = sys.meta_path.pop(0) # 导入 module module = importlib.import_module(fullname) module_hook(fullname, module) sys.meta_path.insert(0, finder) return module
Example #19
Source File: hook.py From apm-python-agent-principle with MIT License | 5 votes |
def load_module(self, fullname): print('load_module {}'.format(fullname)) if fullname in sys.modules: return sys.modules[fullname] # 先从 sys.meta_path 中删除自定义的 finder # 防止下面执行 import_module 的时候再次触发此 finder # 从而出现递归调用的问题 finder = sys.meta_path.pop(0) # 导入 module module = importlib.import_module(fullname) module_hook(fullname, module) sys.meta_path.insert(0, finder) return module
Example #20
Source File: __init__.py From jawfish with MIT License | 5 votes |
def invalidate_caches(): """Call the invalidate_caches() method on all meta path finders stored in sys.meta_path (where implemented).""" for finder in sys.meta_path: if hasattr(finder, 'invalidate_caches'): finder.invalidate_caches()
Example #21
Source File: ez_setup.py From iAI with MIT License | 5 votes |
def _unload_pkg_resources(): sys.meta_path = [ importer for importer in sys.meta_path if importer.__class__.__module__ != 'pkg_resources.extern' ] del_modules = [ name for name in sys.modules if name.startswith('pkg_resources') ] for mod_name in del_modules: del sys.modules[mod_name]
Example #22
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 5 votes |
def install_hooks(include_paths=(), exclude_paths=()): if isinstance(include_paths, str): include_paths = (include_paths,) if isinstance(exclude_paths, str): exclude_paths = (exclude_paths,) assert len(include_paths) + len(exclude_paths) > 0, 'Pass at least one argument' _hook.include(include_paths) _hook.exclude(exclude_paths) # _hook.debug = debug enable = sys.version_info[0] >= 3 # enabled for all 3.x if enable and _hook not in sys.meta_path: sys.meta_path.insert(0, _hook) # insert at beginning. This could be made a parameter # We could return the hook when there are ways of configuring it #return _hook
Example #23
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 5 votes |
def remove_hooks(): if _hook in sys.meta_path: sys.meta_path.remove(_hook)
Example #24
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 5 votes |
def detect_hooks(): """ Returns True if the import hooks are installed, False if not. """ return _hook in sys.meta_path # present = any([hasattr(hook, 'PY2FIXER') for hook in sys.meta_path]) # return present
Example #25
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 5 votes |
def install_hooks(include_paths=(), exclude_paths=()): if isinstance(include_paths, str): include_paths = (include_paths,) if isinstance(exclude_paths, str): exclude_paths = (exclude_paths,) assert len(include_paths) + len(exclude_paths) > 0, 'Pass at least one argument' _hook.include(include_paths) _hook.exclude(exclude_paths) # _hook.debug = debug enable = sys.version_info[0] >= 3 # enabled for all 3.x if enable and _hook not in sys.meta_path: sys.meta_path.insert(0, _hook) # insert at beginning. This could be made a parameter # We could return the hook when there are ways of configuring it #return _hook
Example #26
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 5 votes |
def remove_hooks(): if _hook in sys.meta_path: sys.meta_path.remove(_hook)
Example #27
Source File: __init__.py From misp42splunk with GNU Lesser General Public License v3.0 | 5 votes |
def detect_hooks(): """ Returns True if the import hooks are installed, False if not. """ return _hook in sys.meta_path # present = any([hasattr(hook, 'PY2FIXER') for hook in sys.meta_path]) # return present
Example #28
Source File: __init__.py From recipes-py with Apache License 2.0 | 5 votes |
def _common_post_process(args): # TODO(iannucci): We should always do logging.basicConfig() (probably with # logging.WARNING), even if no verbose is passed. However we need to be # careful as this could cause issues with spurious/unexpected output. # Once the recipe engine is on native build.proto, this should be safe to # do. if args.verbose > 0: logging.basicConfig() logging.getLogger().setLevel(logging.INFO) if args.verbose > 1: logging.getLogger().setLevel(logging.DEBUG) else: # Prevent spurious "No handlers could be found for ..." stderr messages. # Once we always set a basicConfig (per TODO above), this can go away as # well. logging.root.manager.emittedNoHandlerWarning = True args.recipe_deps = RecipeDeps.create( args.main_repo_path, args.repo_override, args.proto_override, ) _check_recipes_cfg_consistency(args.recipe_deps) # Allows: # import RECIPE_MODULES.repo_name.module_name.submodule sys.meta_path = [RecipeModuleImporter(args.recipe_deps)] + sys.meta_path _cleanup_pyc(args.recipe_deps) # Remove flags that subcommands shouldn't use; everything from this point on # should ONLY use args.recipe_deps. del args.main_repo_path del args.verbose del args.repo_override
Example #29
Source File: wheel.py From recruit with Apache License 2.0 | 5 votes |
def unmount(self): pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) if pathname not in sys.path: logger.debug('%s not in path', pathname) else: sys.path.remove(pathname) if pathname in _hook.impure_wheels: _hook.remove(pathname) if not _hook.impure_wheels: if _hook in sys.meta_path: sys.meta_path.remove(_hook)
Example #30
Source File: sandbox_test.py From browserscope with Apache License 2.0 | 5 votes |
def setUp(self): super(SandboxTest, self).setUp() self.mox = mox.Mox() self.old_path = sys.path self.old_meta_path = sys.meta_path self.old_library_format_string = sandbox._THIRD_PARTY_LIBRARY_FORMAT_STRING self.config = runtime_config_pb2.Config() self.app_root = 'test/app/root' self.config.application_root = self.app_root self.config.app_id = 'app' self.config.version_id = '1' self.builtins = __builtin__.__dict__.copy() self.modules = sys.modules.copy()