diff --git a/pipdeps/pipdeps.py b/pipdeps/pipdeps.py index 824da7b70a38f24afca7be3525fe601072c3203c..e3bcf0ad794c831bc32d10599084b9d8d3e9dd08 100644 --- a/pipdeps/pipdeps.py +++ b/pipdeps/pipdeps.py @@ -435,13 +435,19 @@ def get_available_vers(package): raise urllib2.HTTPError(err.url, err.code, None, err.hdrs, err.fp) releases = data["releases"].keys() for release in releases: - requires_python = [] + requires_python, python_version, packagetype = [], [], [] for item in data["releases"][release]: + python_version.append(item['python_version']) + packagetype.append(item['packagetype']) if item['requires_python'] is not None: for reqpyt in item['requires_python'].split(","): requires_python.append(reqpyt.strip()) if requires_python: requires_python = list(set(requires_python)) + if len(packagetype) == 1 and packagetype[0] == 'bdist_wheel' and len(python_version) == 1: + pyt_ver = re.search(r"^py([0-9])", python_version[0]) + if pyt_ver is not None and not is_in_specifiers(PY_VER, [">= %s" % pyt_ver.group(1)]): + continue if is_version(release) and is_in_specifiers(PY_VER, requires_python): versions.append(release) return sorted(versions, key=packaging.specifiers.LegacyVersion, reverse=True)