From 240107b5cfcaabeda9f466271ff641564eea9bd3 Mon Sep 17 00:00:00 2001 From: Dan Ryan Date: Mon, 19 Mar 2018 17:03:42 -0400 Subject: [PATCH] Fix resolving against multiple markers - Fix for when requirements are also present - Fixes #1791 --- pipenv/patched/piptools/resolver.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pipenv/patched/piptools/resolver.py b/pipenv/patched/piptools/resolver.py index dc8d2d7a..ed861222 100755 --- a/pipenv/patched/piptools/resolver.py +++ b/pipenv/patched/piptools/resolver.py @@ -310,7 +310,9 @@ class Resolver(object): for dependency_string in dependency_strings: try: - individual_dependencies = [dep.strip() for dep in dependency_string.split(', ')] + split_deps = dependency_string.split(';') + dependencies, markers = split_deps[0], '; '.join(list(set([marker.strip() for marker in split_deps[1:]]))) + individual_dependencies = [dep.strip() for dep in dependencies.split(', ')] cleaned_deps = [] for dep in individual_dependencies: tokens = [token.strip() for token in dep.split(';')] @@ -325,6 +327,7 @@ class Resolver(object): cleaned_tokens.extend(markers) cleaned_deps.append('; '.join(cleaned_tokens)) _dependency_string = ', '.join(set(cleaned_deps)) + _dependency_string += '; {0}'.format(markers) yield InstallRequirement.from_line(_dependency_string, constraint=ireq.constraint) except InvalidMarker: