mirror of https://github.com/pypa/pip
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:
commit
c09549caff
|
@ -0,0 +1 @@
|
||||||
|
New resolver: Show each requirement in the conflict error message only once to reduce cluttering.
|
|
@ -406,19 +406,19 @@ class Factory(object):
|
||||||
# type: (Candidate) -> str
|
# type: (Candidate) -> str
|
||||||
ireq = parent.get_install_requirement()
|
ireq = parent.get_install_requirement()
|
||||||
if not ireq or not ireq.comes_from:
|
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):
|
if isinstance(ireq.comes_from, InstallRequirement):
|
||||||
return str(ireq.comes_from.name)
|
return str(ireq.comes_from.name)
|
||||||
return str(ireq.comes_from)
|
return str(ireq.comes_from)
|
||||||
|
|
||||||
triggers = []
|
triggers = set()
|
||||||
for req, parent in e.causes:
|
for req, parent in e.causes:
|
||||||
if parent is None:
|
if parent is None:
|
||||||
# This is a root requirement, so we can report it directly
|
# This is a root requirement, so we can report it directly
|
||||||
trigger = req.format_for_error()
|
trigger = req.format_for_error()
|
||||||
else:
|
else:
|
||||||
trigger = describe_trigger(parent)
|
trigger = describe_trigger(parent)
|
||||||
triggers.append(trigger)
|
triggers.add(trigger)
|
||||||
|
|
||||||
if triggers:
|
if triggers:
|
||||||
info = text_join(sorted(triggers))
|
info = text_join(sorted(triggers))
|
||||||
|
|
Loading…
Reference in New Issue