made ImportError verbose in cli.py

This commit is contained in:
Henry Kobin 2021-10-25 11:18:48 -07:00 committed by David Lord
parent b831e8507c
commit e679a85b80
No known key found for this signature in database
GPG key ID: 7A1C87E3F5BC42A8
2 changed files with 7 additions and 4 deletions

View file

@ -258,15 +258,16 @@ def locate_app(script_info, module_name, app_name, raise_if_not_found=True):
try:
__import__(module_name)
except ImportError as e:
except ImportError:
# Reraise the ImportError if it occurred within the imported module.
# Determine this by checking whether the trace has a depth > 1.
if sys.exc_info()[2].tb_next:
raise NoAppException(
f"While importing {module_name!r}, an ImportError was raised."
) from e
f"While importing {module_name!r}, an ImportError was"
f" raised:\n\n{traceback.format_exc()}"
) from None
elif raise_if_not_found:
raise NoAppException(f"Could not import {module_name!r}.") from e
raise NoAppException(f"Could not import {module_name!r}.") from None
else:
return