mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
Use set to dedup package list in error message
This commit is contained in:
parent
0512785fbe
commit
bf55229fc6
2 changed files with 4 additions and 3 deletions
1
news/9101.bugfix.rst
Normal file
1
news/9101.bugfix.rst
Normal file
|
@ -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 a new issue