From d528406cb875b78907c7f7dc9872c1d2c22dc46c Mon Sep 17 00:00:00 2001 From: Willem Mulder Date: Wed, 23 Jan 2019 18:41:59 +0100 Subject: [PATCH] Fix error message for optional dependencies Signed-off-by: Willem Mulder --- changelog.d/4450.bugfix | 2 ++ synapse/python_dependencies.py | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 changelog.d/4450.bugfix diff --git a/changelog.d/4450.bugfix b/changelog.d/4450.bugfix new file mode 100644 index 0000000000..b194e94c15 --- /dev/null +++ b/changelog.d/4450.bugfix @@ -0,0 +1,2 @@ +The dependency checker now correctly reports a version mismatch for optional +dependencies, instead of reporting the dependency missing. diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py index 756721e304..df3e94dee0 100644 --- a/synapse/python_dependencies.py +++ b/synapse/python_dependencies.py @@ -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