def check_dist_requires_python(dist, version_info): """ :param version_info: A tuple of ints representing the Python major-minor-micro version to check (e.g. `sys.version_info[:3]`). """ pkg_info_dict = get_metadata(dist) requires_python = pkg_info_dict.get('Requires-Python') try: if not check_requires_python( requires_python, version_info=version_info, ): raise exceptions.UnsupportedPythonVersion( "%s requires Python '%s' but the running Python is %s" % ( dist.project_name, requires_python, '.'.join(map(str, version_info[:3])), )) except specifiers.InvalidSpecifier as e: logger.warning( "Package %s has an invalid Requires-Python entry %s - %s", dist.project_name, requires_python, e, ) return
def check_dist_requires_python(dist): pkg_info_dict = get_metadata(dist) requires_python = pkg_info_dict.get("Requires-Python") try: if not check_requires_python(requires_python): raise exceptions.UnsupportedPythonVersion( "%s requires Python '%s' but the running Python is %s" % (dist.project_name, requires_python, ".".join(map(str, sys.version_info[:3])),) ) except specifiers.InvalidSpecifier as e: logger.warning( "Package %s has an invalid Requires-Python entry %s - %s", dist.project_name, requires_python, e, ) return
def check_dist_requires_python(dist): metadata = get_metadata(dist) feed_parser = FeedParser() feed_parser.feed(metadata) pkg_info_dict = feed_parser.close() requires_python = pkg_info_dict.get('Requires-Python') try: if not check_requires_python(requires_python): raise exceptions.UnsupportedPythonVersion( "%s requires Python '%s' but the running Python is %s" % ( dist.project_name, requires_python, '.'.join(map(str, sys.version_info[:3])), )) except specifiers.InvalidSpecifier as e: logger.warning( "Package %s has an invalid Requires-Python entry %s - %s" % (dist.project_name, requires_python, e)) return