From bdb00ee73b1ff2346c864a4dec175d9bbd37d116 Mon Sep 17 00:00:00 2001 From: David Robertson Date: Wed, 27 Apr 2022 15:37:59 +0100 Subject: Wrap metadata check in try-except Not sure if this is a good idea, but here is a proposed change --- synapse/util/check_dependencies.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'synapse/util/check_dependencies.py') diff --git a/synapse/util/check_dependencies.py b/synapse/util/check_dependencies.py index 66f1da7502..7a17ebbc61 100644 --- a/synapse/util/check_dependencies.py +++ b/synapse/util/check_dependencies.py @@ -54,10 +54,16 @@ class DependencyException(Exception): DEV_EXTRAS = {"lint", "mypy", "test", "dev"} -RUNTIME_EXTRAS = ( - set(metadata.metadata(DISTRIBUTION_NAME).get_all("Provides-Extra")) - DEV_EXTRAS -) -VERSION = metadata.version(DISTRIBUTION_NAME) +try: + RUNTIME_EXTRAS = ( + set(metadata.metadata(DISTRIBUTION_NAME).get_all("Provides-Extra")) - DEV_EXTRAS + ) + VERSION = metadata.version(DISTRIBUTION_NAME) +except Exception as e: + raise RuntimeError( + "Unable to read Synapse's package installation metadata. " + "This may be a problem with how Synapse has been packaged." + ) from e def _is_dev_dependency(req: Requirement) -> bool: -- cgit 1.5.1