Linearize a nested-error-message-generation

This commit is contained in:
Pradyun Gedam 2019-09-19 15:19:06 +05:30
parent da29744940
commit b22333e44e
No known key found for this signature in database
GPG Key ID: DA17C4B29CB32E4B
1 changed files with 13 additions and 5 deletions

View File

@ -31,11 +31,19 @@ class SourceDistribution(AbstractDistribution):
should_isolate = self.req.use_pep517 and build_isolation
def _raise_conflicts(conflicting_with, conflicting_reqs):
raise InstallationError(
"Some build dependencies for %s conflict with %s: %s." % (
self.req, conflicting_with, ', '.join(
'%s is incompatible with %s' % (installed, wanted)
for installed, wanted in sorted(conflicting))))
format_string = (
"Some build dependencies for {requirement} "
"conflict with {conflicting_with}: {description}."
)
error_message = format_string.format(
requirement=self.req,
conflicting_with=conflicting_with,
description=', '.join(
'%s is incompatible with %s' % (installed, wanted)
for installed, wanted in sorted(conflicting)
)
)
raise InstallationError(error_message)
if should_isolate:
# Isolate in a BuildEnvironment and install the build-time