我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用pkg_resources.ResolutionError()。
def pkg_info(project_name=None, include_extras=False): if project_name is None: project_name = PROJECT_NAME try: distribution = pkg_resources.get_distribution(project_name) extras = include_extras and distribution.extras or [] dependencies = [ pkg_info(d) for d in distribution.requires(extras)] return { 'name': project_name, 'version': distribution.version, 'path': distribution.location, 'dependencies': dependencies, } except pkg_resources.ResolutionError: return { 'name': project_name, }
def _runscript(scriptname): """ Find & run a script with exec (i.e. not via os.system or subprocess). """ import pkg_resources ns = {"__name__": "__main__"} ns['sys'] = globals()['sys'] try: pkg_resources.get_distribution("shmlast").run_script(scriptname, ns) return 0 except pkg_resources.ResolutionError as err: path = scriptpath() scriptfile = os.path.join(path, scriptname) if os.path.isfile(scriptfile): if os.path.isfile(scriptfile): exec(compile(open(scriptfile).read(), scriptfile, 'exec'), ns) return 0 return -1
def _certifi_where(): try: return __import__('certifi').where() except (ImportError, ResolutionError, ExtractionError): pass
def find_ca_bundle(): """Return an existing CA bundle path, or None""" if os.name=='nt': return get_win_certfile() else: for cert_path in cert_paths: if os.path.isfile(cert_path): return cert_path try: return pkg_resources.resource_filename('certifi', 'cacert.pem') except (ImportError, ResolutionError, ExtractionError): return None
def find_ca_bundle(): """Return an existing CA bundle path, or None""" if os.name == 'nt': return get_win_certfile() else: for cert_path in cert_paths: if os.path.isfile(cert_path): return cert_path try: import certifi return certifi.where() except (ImportError, ResolutionError, ExtractionError): return None
def with_requires(*requirements): """Run a test case only when given requirements are satisfied. .. admonition:: Example This test case runs only when `numpy>=1.10` is installed. >>> from cupy import testing ... class Test(unittest.TestCase): ... @testing.with_requires('numpy>=1.10') ... def test_for_numpy_1_10(self): ... pass Args: requirements: A list of string representing requirement condition to run a given test case. """ ws = pkg_resources.WorkingSet() try: ws.require(*requirements) skip = False except pkg_resources.ResolutionError: skip = True msg = 'requires: {}'.format(','.join(requirements)) return unittest.skipIf(skip, msg)
def find_ca_bundle(): """Return an existing CA bundle path, or None""" if os.name == 'nt': return get_win_certfile() else: for cert_path in cert_paths: if os.path.isfile(cert_path): return cert_path try: return pkg_resources.resource_filename('certifi', 'cacert.pem') except (ImportError, ResolutionError, ExtractionError): return None
def is_installed(requirement): try: pkg_resources.require(requirement) except pkg_resources.ResolutionError: return False else: return True
def load_consensus_plugin(name=None): """Find and load the chosen consensus plugin. Args: name (string): the name of the entry_point, as advertised in the setup.py of the providing package. Returns: an uninstantiated subclass of ``bigchaindb.consensus.AbstractConsensusRules`` """ if not name: return BaseConsensusRules # TODO: This will return the first plugin with group `bigchaindb.consensus` # and name `name` in the active WorkingSet. # We should probably support Requirements specs in the config, e.g. # consensus_plugin: 'my-plugin-package==0.0.1;default' plugin = None for entry_point in iter_entry_points('bigchaindb.consensus', name): plugin = entry_point.load() # No matching entry_point found if not plugin: raise ResolutionError( 'No plugin found in group `bigchaindb.consensus` with name `{}`'. format(name)) # Is this strictness desireable? # It will probably reduce developer headaches in the wild. if not issubclass(plugin, (BaseConsensusRules,)): raise TypeError('object of type "{}" does not implement `bigchaindb.' 'consensus.BaseConsensusRules`'.format(type(plugin))) return plugin