ipython broken for python 3.6 because of jedi 0.18.0
See original GitHub issuejrett@linux:~$ python3.6 -m venv /home/jrett/venv/qa36/
jrett@linux:~$ source /home/jrett/venv/qa36/bin/activate
(qa36) jrett@ts-prod:~$ pip install ipython
<snip>
Installing collected packages: pickleshare, wcwidth, prompt-toolkit, decorator, backcall, ipython-genutils, six, traitlets, ptyprocess, pexpect, pygments, parso, jedi, ipython
Successfully installed backcall-0.2.0 decorator-4.4.2 ipython-7.16.1 ipython-genutils-0.2.0 jedi-0.18.0 parso-0.8.1 pexpect-4.8.0 pickleshare-0.7.5 prompt-toolkit-3.0.16 ptyprocess-0.7.0 pygments-2.8.0 six-1.15.0 traitlets-4.3.3 wcwidth-0.2.5
(qa36) jrett@ts-prod:~$ pip freeze
backcall==0.2.0
decorator==4.4.2
ipython==7.16.1
ipython-genutils==0.2.0
jedi==0.18.0
parso==0.8.1
pexpect==4.8.0
pickleshare==0.7.5
pkg-resources==0.0.0
prompt-toolkit==3.0.16
ptyprocess==0.7.0
Pygments==2.8.0
six==1.15.0
traitlets==4.3.3
wcwidth==0.2.5
(qa36) jrett@ts-prod:~/src/qa$ ipython
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.16.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: ?
Traceback (most recent call last):
File "/home/jrett/venv/qa36/lib/python3.6/site-packages/IPython/terminal/ptutils.py", line 113, in get_completions
yield from self._get_completions(body, offset, cursor_position, self.ipy_completer)
File "/home/jrett/venv/qa36/lib/python3.6/site-packages/IPython/terminal/ptutils.py", line 126, in _get_completions
for c in completions:
File "/home/jrett/venv/qa36/lib/python3.6/site-packages/IPython/core/completer.py", line 438, in _deduplicate_completions
completions = list(completions)
File "/home/jrett/venv/qa36/lib/python3.6/site-packages/IPython/core/completer.py", line 1818, in completions
for c in self._completions(text, offset, _timeout=self.jedi_compute_type_timeout/1000):
File "/home/jrett/venv/qa36/lib/python3.6/site-packages/IPython/core/completer.py", line 1862, in _completions
full_text=full_text, cursor_line=cursor_line, cursor_pos=cursor_column)
File "/home/jrett/venv/qa36/lib/python3.6/site-packages/IPython/core/completer.py", line 2030, in _complete
cursor_pos, cursor_line, full_text)
File "/home/jrett/venv/qa36/lib/python3.6/site-packages/IPython/core/completer.py", line 1374, in _jedi_matches
text[:offset], namespaces, column=cursor_column, line=cursor_line + 1)
File "/home/jrett/venv/qa36/lib/python3.6/site-packages/jedi/api/__init__.py", line 726, in __init__
project=Project(Path.cwd()), **kwds)
TypeError: __init__() got an unexpected keyword argument 'column'
Obviously the issue is Jedi 0.18.0. ipython should release a 7.16.2 with a fixed requirements file: https://github.com/ipython/ipython/commit/90fb12b53e52314979167098de1c47f75f8fb14e
Issue Analytics
- State:
- Created 3 years ago
- Comments:7 (4 by maintainers)
Top Results From Across the Web
jedi - PyPI
Jedi is a static analysis tool for Python that is typically used in IDEs/editors plugins. Jedi has a focus on autocompletion and goto...
Read more >7.x Series — IPython 8.7.0 documentation
This documentation covers IPython versions 6.0 and higher. Beginning with version 6.0, IPython stopped supporting compatibility with Python versions lower than ...
Read more >Completion in IPython (jupyter) does now work (unexpected ...
The latest upgrade to jedi broke completion in all of IPython and answers to a 5-years old question about a different issue are...
Read more >Installing IPython
There are multiple ways of installing IPython. This page contains simplified installation instructions that should work for most users. Our official ...
Read more >Release notes — Anaconda documentation
This is the first release that provides a python-3.10 variant for anaconda ... ipykernel 6.4.1 -> 6.9.1; ipython 7.29.0 -> 8.2.0; jedi 0.18.0...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Ah, I see #12757 was reverted anyway.
I had to do a bit of digging to figure out the situation. For anyone else following along: IPython 7.20 has a fix to make it compatible with Jedi 0.18 (#12793), but doesn’t support Python 3.6. The change looks reasonably small, so maybe it’s possible to backport it to 7.16? Obviously that’s work for someone to do, and I assume the maintainers would have done it by now if they had unlimited free time, so presumably it’ll fall onto someone who particularly wants things to work.
@bialix as it was already mentioned by Carreau in lots of other threads, this would make pip downgrade IPython in some particular cases (I don’t remember specifics). In any case, whatever else there is to discuss about this, it should be discussed in #13100.