question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

ipython broken for python 3.6 because of jedi 0.18.0

See original GitHub issue
jrett@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:closed
  • Created 3 years ago
  • Comments:7 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
bmerrycommented, Mar 25, 2021

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.

0reactions
MrMinocommented, Nov 1, 2021

@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.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found