While working with libraries like nltk the tab auto-complete was like a blessing which would comfortably list the functions and attributes of the module in use. It used to work fine few months back but recently I have been facing this new issue of the auto-completes not appearing. They seem to work fine initially but after some time the kernel activity indicator just blinks on pressing tab and nothing happens. On the jupyter server side, the following message appears:
[IPKernelApp] ERROR | Exception in message handler: Traceback (most recent call last): File "<the path>\venv\lib\site-packages\ipykernel\kernelbase.py", line 268, in dispatch_shell yield gen.maybe_future(handler(stream, idents, msg)) File "<the path>\venv\lib\site-packages\tornado\gen.py", line 735, in run value = future.result() File "<the path>\venv\lib\site-packages\tornado\gen.py", line 209, in wrapper yielded = next(result) File "<the path>\venv\lib\site-packages\ipykernel\kernelbase.py", line 583, in complete_request matches = yield gen.maybe_future(self.do_complete(code, cursor_pos)) File "<the path>\venv\lib\site-packages\ipykernel\ipkernel.py", line 360, in do_complete return self._experimental_do_complete(code, cursor_pos) File "<the path>\venv\lib\site-packages\ipykernel\ipkernel.py", line 385, in _experimental_do_complete completions = list(_rectify_completions(code, raw_completions)) File "<the path>\venv\lib\site-packages\IPython\core\completer.py", line 484, in rectify_completions completions = list(completions) File "<the path>\venv\lib\site-packages\IPython\core\completer.py", line 1819, in completions if c and (c in seen): File "<the path>\venv\lib\site-packages\IPython\core\completer.py", line 1876, in _completions else: File "<the path>\venv\lib\site-packages\IPython\core\completer.py", line 991, in _make_signature return '(%s)'% ', '.join([f for f in (_formatparamchildren(p) for p in completion.params) if f]) File "<the path>\venv\lib\site-packages\IPython\core\completer.py", line 991, in <listcomp> return '(%s)'% ', '.join([f for f in (_formatparamchildren(p) for p in completion.params) if f]) File "<the path>\venv\lib\site-packages\IPython\core\completer.py", line 991, in <genexpr> return '(%s)'% ', '.join([f for f in (_formatparamchildren(p) for p in completion.params) if f]) File "<the path>\venv\lib\site-packages\IPython\core\completer.py", line 968, in _formatparamchildren raise ValueError('Jedi function parameter description have change format.' ValueError: Jedi function parameter description have change format.Expected "param ...", found 'def __subclasshook__'". While this is not something that would seriously hamper the development process but it would be really helpful if it works properly.
I am currently using python 3.8.6 64-bit (Was facing the same issue on older versions as well) and running the notebook in Microsoft Edge Chromium