Fix error message for optional dependencies

Signed-off-by: Willem Mulder <willemmaster@hotmail.com>
pull/4450/head
Willem Mulder 2019-01-23 18:41:59 +01:00
parent 6b90ae6efc
commit d528406cb8
2 changed files with 7 additions and 2 deletions

2
changelog.d/4450.bugfix Normal file
View File

@ -0,0 +1,2 @@
The dependency checker now correctly reports a version mismatch for optional
dependencies, instead of reporting the dependency missing.

View File

@ -143,9 +143,12 @@ def check_requirements(for_feature=None, _get_distribution=get_distribution):
for dependency in OPTS:
try:
_get_distribution(dependency)
except VersionConflict:
except VersionConflict as e:
deps_needed.append(dependency)
errors.append("Needed %s but it was not installed" % (dependency,))
errors.append(
"Needed optional %s, got %s==%s"
% (dependency, e.dist.project_name, e.dist.version)
)
except DistributionNotFound:
# If it's not found, we don't care
pass