diff --git a/pipenv/patched/piptools/repositories/pypi.py b/pipenv/patched/piptools/repositories/pypi.py index 81457588..e9e0bfe2 100755 --- a/pipenv/patched/piptools/repositories/pypi.py +++ b/pipenv/patched/piptools/repositories/pypi.py @@ -184,12 +184,16 @@ class PyPIRepository(BaseRepository): raise TypeError('Expected pinned or editable InstallRequirement, got {}'.format(ireq)) setup_requires = {} - # if ireq.editable: - # dist = ireq.get_dist() - # if dist.has_metadata('requires.txt'): - # setup_requires = self.finder.get_extras_links( - # dist.get_metadata_lines('requires.txt') - # ) + if ireq.editable: + try: + dist = ireq.get_dist() + if dist.has_metadata('requires.txt'): + setup_requires = self.finder.get_extras_links( + dist.get_metadata_lines('requires.txt') + ) + except TypeError: + pass + if ireq not in self._dependencies_cache: if ireq.link and not ireq.link.is_artifact: @@ -212,14 +216,14 @@ class PyPIRepository(BaseRepository): ignore_compatibility=True ) result = reqset._prepare_file(self.finder, ireq, ignore_requires_python=True) - # if setup_requires: - # for section in setup_requires: - # python_version = section - # for value in setup_requires[section]: - # if ':' in value: - # python_version = value[1:-1] - # else: - # result = result + [InstallRequirement.from_line("{0}{1}".format(value, python_version).replace(':', ';'))] + if setup_requires: + for section in setup_requires: + python_version = section + for value in setup_requires[section]: + if ':' in value: + python_version = value[1:-1] + else: + result = result + [InstallRequirement.from_line("{0}{1}".format(value, python_version).replace(':', ';'))] if reqset.requires_python: