Merge pull request #9101 from uranusjr/new-resolver-error-message-dedup

Use set to dedup package list in error message
This commit is contained in:
Pradyun Gedam 2020-11-14 23:56:55 +05:30 committed by GitHub
commit c09549caff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 3 deletions

1
news/9101.bugfix.rst Normal file
View File

@ -0,0 +1 @@
New resolver: Show each requirement in the conflict error message only once to reduce cluttering.

View File

@ -406,19 +406,19 @@ class Factory(object):
# type: (Candidate) -> str
ireq = parent.get_install_requirement()
if not ireq or not ireq.comes_from:
return "{} {}".format(parent.name, parent.version)
return "{}=={}".format(parent.name, parent.version)
if isinstance(ireq.comes_from, InstallRequirement):
return str(ireq.comes_from.name)
return str(ireq.comes_from)
triggers = []
triggers = set()
for req, parent in e.causes:
if parent is None:
# This is a root requirement, so we can report it directly
trigger = req.format_for_error()
else:
trigger = describe_trigger(parent)
triggers.append(trigger)
triggers.add(trigger)
if triggers:
info = text_join(sorted(triggers))