Solvedipython Last jedi release (0.18.0) is incompatible with ipython (7.19 and 7.18 tested); reason - column arg was deprecated, and now removed

Relevant traceback reads as follows:

  File "../venv/lib/python3.8/site-packages/IPython/core/", line 2029, in _complete
    completions = self._jedi_matches(
  File "../venv/lib/python3.8/site-packages/IPython/core/", line 1373, in _jedi_matches
    interpreter = jedi.Interpreter(
  File "../venv/lib/python3.8/site-packages/jedi/api/", line 725, in __init__
    super().__init__(code, environment=environment,
TypeError: __init__() got an unexpected keyword argument 'column'

sys info:

{'commit_hash': '62779a198',
 'commit_source': 'installation',
 'default_encoding': 'utf-8',
 'ipython_path': '../venv/lib/python3.8/site-packages/IPython',
 'ipython_version': '7.18.0',
 'os_name': 'posix',
 'platform': 'Linux-4.15.0-128-generic-x86_64-with-glibc2.17',
 'sys_executable': '../venv/bin/python',
 'sys_platform': 'linux',
 'sys_version': '3.8.5 (default, Jul 20 2020, 19:50:14) \n[GCC 5.4.0 20160609]'}

same reported in jedi repo too

34 Answers

✔️Accepted Answer

As a temporary fix for anyone just trying to get things working again:

pip install jedi==0.17.2

It would be really nice if you could quickly release a 7.19.1. (It's already fixed on master).

Sorry for that. I did not realize that IPython with that fix was not released yet. I usually test IPython completions before doing a Jedi release, but not this time :/. It will probably also not happen in the future anymore, because I'm going to release Jedi 1.0 soon, so this is probably the last time for a long time that you have to deal with deprecations in Jedi.

Still wish you a Merry Christmas!

Other Answers:

I am really disappointed that the maintainer of a great product as Ipython has such a limited knowledge about the problem.
The fact that Ipython has not been pinning jedi means that any version of it released in the past that depends on jedi is at its merci to stop working as soon as a no backwards compatible change is introduced and used in Ipython.
By changing Ipython to make it jedi 0.18 compatible and releasing 7.20 you make that 7.20 operational today. If tomorrow jedi makes another backwards incompatible change We will be screwed again.
And you can't blame jedi for backwards incompatible changes because it is not even 1.x and you are not even pinning the major.
You are calling for trouble.

I'm amazed that someone that contribute squat is telling me what i'm doing wrong without tryign to really think about the problem.

  • Say I pin IPython 7.20 to jedi <0.19 , and david release jedi 0.19.
  • pip is no free to say "hey let's install jedi 0.19 and downgrade IPython to 5.x".
  • Bam you are wrong™️ . 💎 🚀 🌕

And second the change of API were in jedi 0.17 with deprecation warnings and fix in master close to a year ago; I thought that by now 8.0 would be out.

FYI about me know nothing about versioning:

  • I spend month implementing on pushing the python_requires logic in pypi, and in pip to make sure when IPython dropped it did not break for Python 2 users
  • I'm one of the regular advocate to have version medata data and package content to be separated in conda/pypi for this exact reason.
  • It's not because something seem obvious that it's correct.

You could have just asked in for a question "why are not you pinning to <0.19 starting with IPython 7.20", to which I would have responded.
So not only you are impolite and haven't done your research, everybody see you incorrectly assume you know better than others and you've lost all credibility.

⬇️ 🎤


The code has been already updated, but 7.19.0 did not include this. :(

I'll try to release 7.20 soon; I've make it compatible with jedi 0.18 as pip also use a resolver and so pinning is not an option as pip would be free to downgrade IPython and keep jedi 0.18 which will brake.

Right now the limiting factor for the release is writing the what's new.

By the way, a 7.19.1 release with the dependency jedi<0.18.0 would also suffice.

Related Issues:

ipython Last jedi release (0.18.0) is incompatible with ipython (7.19 and 7.18 tested); reason - column arg was deprecated, and now removed
As a temporary fix for anyone just trying to get things working again: It would be really nice if yo...
ipython NameError: name 'sys' is not defined
Ok that was easy The Jedi release on 12/25 version 0.18.0 is breaking tab completion pip install --u...
ipython No module named shutil_get_terminal_size
Looks like you've installed IPython without getting its dependencies somehow Given that I see eggs ...
ipython ImportError: No module named shutil_get_terminal_size
@oschow this should work in general: Update from @Carreau : Reopening tagging 5.4 we should vendor s...
ipython pip install error
That's unrelated to IPython the issue comes from installing scandir you should see that with the sca...
ipython Add multiline coding in ipython 5 with --simple-prompt
@Crandel indeed downgrading to ipython 4.2.1 is a way better solution! All works as expected with Em...
ipython Bring back readline capability?
For anyone still subscribed on this issue: I just released rlipython version 0.1.0 ...
ipython ipython 7.12.0 tab completion doesn't work with numpy and scipy, but with matplotlib
I figured out how to run ipython with --IPCompleter.debug=True I get this Not a lot of information F...
notebook execution error: doesn’t understand the “open location” message. (-1708)
(Solution at bottom!) So it seems that the problem is in the Python standard library ...
notebook juipiter notebook server "connecting to kernel" problem
Downgrading tornado to 4.5.3 fixed my problem with pip - sudo python3.6 -m pip install tornado==4.5....
notebook Kernal Error - FileNotFoundError: [WinError 2] The system cannot find the file specified
For anyone interested I found the solution: Open your Anaconda Prompt When I create a new env in Ana...
tqdm Jupyterlab and tqdm_notebook
I confirm this problem on my environment but it is upstream so IMHO nothing can be done on tqdm Plea...
pylint cv2 module members are not recognized
On VScode: CTRL + Shift + P Choose Preferences: Open Settings (JSON) Add this line into JSON file: p...
notebook Cannot start jupyter notebook, DLL load failed
UPDATE w/ FIX: I fixed this problem by adding *anaconda root*/Library/bin to my PATH ...
scipy Unable to find imresize
I got this error even with pillow installed on scipy==1.3.0 I fixed it by installing an earlier vers...
notebook how to close running jupyter notebook servers?
Each server should start on a new port jupyter notebook list is reading a set of data files - each n...
notebook Installed package won't import in notebook
Check sys.executable and sys.path inside the notebook - I bet your kernel is not running in the envi...
notebook Crash when running jupyter notebook with a user with id != 1000
I had the same problem export XDG_RUNTIME_DIR= eliminated the problem. Apparently ...
notebook Kernel error win32api
Rumors abound there's an installation glitch in the 225 build of pywin32 Have you tried conda instal...
pylint logging-format-interpolation for f-strings
Please not! f-Strings are more readable and fast Pylint will warn against using .format and % when l...
spyder Spyder Won't Launch
Could you run in a terminal and try again? Description of your problem What steps will reproduce the...
scipy Unable to install scipy on macOS Big Sur (Intel hardware)
Wow this worked Thank you: Install openblas: I used pip3 to install scipy Success!!!! ...
pylint Problem with Flask-SQLAlchemy, cannot find valid and existing property in SQLAlchemy object.
I find an elegant solution here:
notebook Images in Markdown not showing when uploaded to Github
I spent some time figuring out what the problem with my image was I have used the below syntax to di...
spyder [warn] kq_init: detected broken kqueue
Could you run in a terminal and try again? Description of your problem What steps will reproduce the...
spyder Mac OS spyder won't launch: directory mismatch
Please run to see if that helps. Problem Description Spyder won't launch ...
spyder Spyder crashes with segmentation fault on startup in Anaconda 4.5.0
Following a suggestion in #3326 I was able to work around the problem by doing This problem is also ...
notebook Jupyter notebook does not launch
Can you get an Anaconda command prompt and run jupyter notebook in it? It probably won't work but yo...
tqdm How to update single progress bar in multiprocessing map()
spyder qtpy.PythonQtError: No Qt bindings could be found
You need to install PyQt4 or PyQt5 because that's not installed automatically by pip For PyQt5 just ...
spyder “RuntimeError: This event loop is already running”; debugging aiohttp, asyncio and IDE “spyder3” in python 3.6.5
I got the issue resolved by using the nest_async pip install nest_asyncio and adding below lines in ...
notebook "not implemented" message with jupyter notebook under python-3.8.0a4 (due to switch to "proactor" loop on windows)
workaround from add this to tornado/platform/ after ...
notebook Kernel error in jupyter notebook
Try conda install pywin32 if you are using conda. ...
notebook Notebook suddenly started to ask for a password?
hello I have problems because jupyter notebook list doesn't show token :/ Can anyone help me with th...
pylint --fail-under flag
@PCManticore @brycepg Please consider re-opening this This is a useful feature coverage also has sim...
notebook Autocomplete not working
This is a different issue It's essentially this issue: ipython/ipython#12740 As a temporary solution...
notebook how to read dataset from local computer file in jupyter notebook
Hi that is the right way to use pandas but it looks like you're using a relative path -- the ../ to ...
notebook Opera browser: Access to the file was denied after starting
I followed the following steps: I created the configuration file: jupyter notebook --generate-config...
scipy Not able to install scipy using pip in docker alpine image with python:3.5.6-alpine image
#Apologies for the delayed response As @rgommers stated scipy doesn't maintain a docker image rather...
spyder Getting "Spyder already running" warning when it's not
You need to look for a directory called .spyder2 in your Users\<your account> directory the find a f...
spyder Autocomplete is not working
@hepinjing could you remove enum and try again? Description In the last version of Anaconda 3 ...
spyder Spyder doesn't start - no module named 'PyQt5.QtWebEngineWidgets'
Actually you need to uninstall it first: pip uninstall pyqtwebengine pip install pyqtwebengine This ...
spyder Segmentation fault (core dumped) when trying to start conda-installed spyder 3.2.8
@addyblue Try conda install pyopengl Developer Note: *This issue is now resolved in Spyder >=3.3.0 T...
notebook ( RuntimeWarning: coroutine 'WebSocketHandler.get' was never awaited
I got my notebook to connect by downgrading tornado from 6.0.0 to 5.1.1: Attempting to connect to a ...
notebook Markdown table alignment
It's one thing enforce right-alignment for consistency reasons as described in /pull/2534 ...
notebook NotImplemented Error Jupyter Notebook
Fixed by adding this code in python38/Lib/site-packages/tornado/platorm/ after the main me...
scipy Bug in L-BFGS-B minimize?
In fact if I start playing the guessing game Hi I think I found a bug Good news is that I think I kn...
pylint [Python 3.9] Value 'Optional' is unsubscriptable (unsubscriptable-object) (also Union)
Also encountering this with the Union type in Python 3.9:
notebook Jupyter Notebook won't start due to ports being already in use
On the system that it's running on jupyter notebook stop 8888 should work. Fresh install of anaconda...
notebook jupyter - Failed to start the kernel
I'd guess that you created the kernelspec for an environment which you've now deleted or removed ...