diff --git a/sentry_sdk/utils.py b/sentry_sdk/utils.py index f60c31e676..b2a39b7af1 100644 --- a/sentry_sdk/utils.py +++ b/sentry_sdk/utils.py @@ -1665,7 +1665,7 @@ def _generate_installed_modules(): yielded = set() for dist in metadata.distributions(): - name = dist.metadata["Name"] + name = dist.metadata.get("Name", None) # type: ignore[attr-defined] # `metadata` values may be `None`, see: # https://github.com/python/cpython/issues/91216 # and diff --git a/tests/test_utils.py b/tests/test_utils.py index 894638bf4d..6083ad7ad2 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -650,12 +650,12 @@ def test_installed_modules(): if importlib_available: importlib_distributions = { - _normalize_distribution_name(dist.metadata["Name"]): version( - dist.metadata["Name"] + _normalize_distribution_name(dist.metadata.get("Name", None)): version( + dist.metadata.get("Name", None) ) for dist in distributions() - if dist.metadata["Name"] is not None - and version(dist.metadata["Name"]) is not None + if dist.metadata.get("Name", None) is not None + and version(dist.metadata.get("Name", None)) is not None } assert installed_distributions == importlib_distributions