From 448682b8d5c35005403aaefaf373f52fc9bf89f9 Mon Sep 17 00:00:00 2001 From: M Bussonnier Date: Tue, 14 May 2024 15:02:41 +0200 Subject: [PATCH] Fix crash on completion for optional six modules --- IPython/core/completerlib.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/IPython/core/completerlib.py b/IPython/core/completerlib.py index 9b97d7030c2..2567f665f79 100644 --- a/IPython/core/completerlib.py +++ b/IPython/core/completerlib.py @@ -152,9 +152,14 @@ def get_root_modules(): return rootmodules -def is_importable(module, attr, only_modules): +def is_importable(module, attr:str, only_modules) -> bool: if only_modules: - return inspect.ismodule(getattr(module, attr)) + try: + mod = getattr(module, attr) + except ModuleNotFoundError: + # See gh-14434 + return False + return inspect.ismodule(mod) else: return not(attr[:2] == '__' and attr[-2:] == '__')