Created attachment 221777 [details]
Add missing imports to ptutils.py.
The patch to 7.19.0_2 exposed some other problems:
File "/usr/local/lib/python3.9/site-packages/prompt_toolkit/completion/base.py", line 196, in get_completions_async
for item in self.get_completions(document, complete_event):
File "/usr/local/lib/python3.9/site-packages/IPython/terminal/ptutils.py", line 116, in get_completions
exc_type, exc_value, exc_tb = sys.exc_info()
NameError: name 'sys' is not defined
It turns out that ptutils.py needs two additional imports:
(see attached patch)
This however exposes another bug:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/IPython/terminal/ptutils.py", line 115, in get_completions
yield from self._get_completions(body, offset, cursor_position, self.ipy_completer)
File "/usr/local/lib/python3.9/site-packages/IPython/terminal/ptutils.py", line 131, in _get_completions
for c in completions:
File "/usr/local/lib/python3.9/site-packages/IPython/core/completer.py", line 438, in _deduplicate_completions
completions = list(completions)
File "/usr/local/lib/python3.9/site-packages/IPython/core/completer.py", line 1817, in completions
for c in self._completions(text, offset, _timeout=self.jedi_compute_type_timeout/1000):
File "/usr/local/lib/python3.9/site-packages/IPython/core/completer.py", line 1874, in _completions
signature = _make_signature(jm)
File "/usr/local/lib/python3.9/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])
AttributeError: 'Completion' object has no attribute 'params'
Looking at the differences between completer.py in this version and the one on github HEAD, they are significant.
It seems to me that until a new version of IPython is released, py-parso and py-jedi should be rolled back as proposed in #252395.
yes, sorry. it looks like the completion works only once in a session. will see further
A commit references this bug:
Date: Tue Jan 26 10:33:14 UTC 2021
New revision: 562650
devel/ipython: actually unbreak autocompletion
Remove broader patch added earlier - it still doesn't completely
solve the problem.
Instead add tiny patch to fix runtime with jedi 0.18 and add missing
imports with second patch. Works just well with my tests.
Both patches should be removed after next ipython release.
Reported by: firstname.lastname@example.org
Approved by: python (with hat)
(In reply to rsmith from comment #0)
fix committed. please let us know how it's going