Browse Source

fix: catch ImportError for optional ujson/orjson imports

ModuleNotFoundError is a subclass of ImportError, but some environments
raise ImportError directly when optional dependencies are not installed.
Catching ImportError covers both cases.

Fixes #15536
pull/15570/head
pin 1 month ago
parent
commit
d84be65b79
No known key found for this signature in database GPG Key ID: 9A5A9965E0761AE2
  1. 4
      fastapi/responses.py

4
fastapi/responses.py

@ -26,13 +26,13 @@ class _OrjsonModule(Protocol):
try:
ujson = cast(_UjsonModule, importlib.import_module("ujson"))
except ModuleNotFoundError: # pragma: nocover
except ImportError: # pragma: nocover
ujson = None # type: ignore[assignment]
try:
orjson = cast(_OrjsonModule, importlib.import_module("orjson"))
except ModuleNotFoundError: # pragma: nocover
except ImportError: # pragma: nocover
orjson = None # type: ignore[assignment]

Loading…
Cancel
Save