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
✔️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.
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.
Relevant traceback reads as follows:
sys info:
same reported in jedi repo too