def ensure_extra_versions_supported(extra):
# as this is an optional aid, don't fail if on old version of pip
try:
talisker_pkg = pkg_resources.get_distribution('talisker')
extra_deps = (
set(talisker_pkg.requires([extra])) - set(talisker_pkg.requires())
)
for requirement in extra_deps:
pkg = pkg_resources.get_distribution(requirement.project_name)
if pkg.version not in requirement.specifier:
raise TaliskerVersionException(
'{} {} is not supported ({})'.format(
requirement.project_name, pkg.version, requirement))
except Exception:
logging.getLogger(__name__).debug(
'skipping ensure_extra_versions_supported as exception occured')
return True
# module level caches for global objects, means we can store all globals in
# a single place. This is useful when testing, as we can reset globals easily.
评论列表
文章目录