From b0d99f6325f90276f00bfedce2dbf10099e21400 Mon Sep 17 00:00:00 2001 From: uriariel Date: Thu, 28 May 2020 02:34:42 +0300 Subject: [PATCH] Support packages that are using the new importlib.metadata api (fix of issue #807) --- bpython/curtsiesfrontend/repl.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bpython/curtsiesfrontend/repl.py b/bpython/curtsiesfrontend/repl.py index 066129dbf..13c393783 100644 --- a/bpython/curtsiesfrontend/repl.py +++ b/bpython/curtsiesfrontend/repl.py @@ -274,6 +274,16 @@ def __init__(self, watcher, old_meta_path): self.watcher = watcher self.old_meta_path = old_meta_path + def find_distributions(self, context): + for finder in self.old_meta_path: + distribution_finder = getattr(finder, 'find_distributions', None) + if distribution_finder is not None: + loader = finder.find_distributions(context) + if loader is not None: + return loader + + return None + def find_module(self, fullname, path=None): for finder in self.old_meta_path: loader = finder.find_module(fullname, path)