diff --git a/pipenv/patched/piptools/repositories/pypi.py b/pipenv/patched/piptools/repositories/pypi.py index 0702e73e..62ed490d 100644 --- a/pipenv/patched/piptools/repositories/pypi.py +++ b/pipenv/patched/piptools/repositories/pypi.py @@ -24,7 +24,7 @@ from .._compat import ( from pipenv.patched.notpip._vendor.packaging.requirements import InvalidRequirement, Requirement from pipenv.patched.notpip._vendor.packaging.version import Version, InvalidVersion, parse as parse_version -from pipenv.patched.notpip._vendor.packaging.specifiers import SpecifierSet +from pipenv.patched.notpip._vendor.packaging.specifiers import SpecifierSet, InvalidSpecifier from pipenv.patched.notpip._vendor.pyparsing import ParseException from ..cache import CACHE_DIR @@ -167,8 +167,18 @@ class PyPIRepository(BaseRepository): py_version = parse_version(os.environ.get('PIP_PYTHON_VERSION', str(sys.version_info[:3]))) all_candidates = [] for c in self.find_all_candidates(ireq.name): - if c.requires_python and not SpecifierSet(c.requires_python).contains(py_version): - continue + if c.requires_python: + # Old specifications had people setting this to single digits + # which is effectively the same as '>=digit,=digit,= 10 (new resolver!) -@@ -190,14 +312,64 @@ class PyPIRepository(BaseRepository): +@@ -190,14 +322,64 @@ class PyPIRepository(BaseRepository): upgrade_strategy="to-satisfy-only", force_reinstall=False, ignore_dependencies=False, @@ -311,7 +321,7 @@ index 1c4b943..ab5a56c 100644 reqset.cleanup_files() return set(self._dependencies_cache[ireq]) -@@ -224,17 +396,10 @@ class PyPIRepository(BaseRepository): +@@ -224,17 +406,10 @@ class PyPIRepository(BaseRepository): matching_candidates = candidates_by_version[matching_versions[0]] return {