-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Last jedi release (0.18.0) is incompatible with ipython (7.19 and 7.18 tested); reason - column arg was deprecated, and now removed #12740
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The code has been already updated, but |
As a temporary fix for anyone just trying to get things working again:
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! |
By the way, a |
@davidhalter Thanks for your solution. it finally work. |
I had the same problem with ipython and thanks to the solution of @davidhalter , it works again. 👍 |
Thank you for opening this issue. Happy holiday! |
Posted a pr to pin the dependency as suggested: #12746 |
Thanks a lot. I thought my shell was broken. Every time when I tried to use tab completion in IPython it crashed. Glad I found a solution. |
Finally found a solution! thank you @davidhalter 🎉 |
When would the problem be fixed so that every Jedi version is compatible with ipython? |
@tik9 Does installing from master work for you?
If so, whenever ipython releases a new version, it will be fixed for everyone. |
@NeilGirdhar , when doing It seems to work, I still have to update to the current Jedi. |
Got this issue as well. Pinning |
Thank you for your solution. |
installing 0.17.2 of jedi also worked for me. Was chasing my tail trying to figure out why it wasn't working in a new virtual environment, glad to have found this! Hope the fix is out soon. Luckily this showed up as the top link in Google for me when searching "ipython init got an unexpected keyword argument 'column'". |
Thank you, both of you, for the useful insights and recommendations. I really appreciate it. It sounds like I will go the route of putting a call-out box in my website that adds a hand-holding jedi-downgrading walkthrough (although, then I have to hope that the students have the awareness to repeat that step when creating new environments) As it stands, I am dangerously close to making two "but think of the children" pleas in a single github issue, which is a violation of one of my new years resolutions. (mamba looks cool!) |
@rsokl @Carreau said he'd make a new release soon, which would of course also solve things. In the meantime, the "hand-holding" guide should be as easy as |
@rsokl You can either do this for a single install (e.g.
|
@rsoki, can you post a link to your walkthrough? I think some others among us have the same problem... |
BTW, "Effective Python" (2nd edition) #89 suggests using the warnings module to handle things like deprecating arguments. |
@gkuenning I just uploaded the downgrade instructions to Python Like You Mean It. Under: Information Introduction to Python and under Jupyter Notebooks |
@rsokl |
Nice! I just confirmed this on my end. I guess I'll keep those callout boxes up on PLYMI for a bit in case folks had already installed anaconda. |
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. |
I am really disappointed that the maintainer of a great product as Ipython has such a limited knowledge about the problem. |
I'm amazed that someone that contribute squat is telling me what i'm doing wrong without tryign to really think about the problem.
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:
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. ✋ ⬇️ 🎤 |
@Carreau: dude, you rock! |
So essentially you say as there are problems with pip resolver and in some cases it will not be able to upgrade correctly I will completely ignore the problem and not try to solve other uses cases that I can. |
That would indeed be unfortunate, the resulting setup would be not only broken, but out-of-date to boot. Can that happen when running As maintainer of my own small Python package with moderately complicated dependencies, I feel like I should read up on this :) Any tips on good material on this topic? |
@mostealth Obviously you have a different perspective on that matter. That's fine. However, it seems rather unproductive to dissipate the time and energy of productive people like @Carreau with pointless discussions. If you have deeper insights I see the following options: You can fork the project, file a PR or just sate your improvement suggestion in a way that is arguable, maybe in a dedicated issue. For the rest of us I would suggest to basically ignore distracting comments which contain neither helpful information nor constructive criticism, but instead spread insults and negative emotion. Reactinv with 👎 should be enough attention for such comments. |
@Carreau Thanks a lot! I guess the next release is going to be 1.0 anyway, so it shouldn't happen again. We might then think about pinning In general for all people like @mostealth: If you are worried about older versions breaking: Pin your dependencies! The Python packaging system is still in a bit of a problematic state. The devs are doing a good job trying to turn it around, but there is a lot of technical debt from years ago. Keep in mind they want to keep backwards compatibility with a lot of old and new things. Just a enumerating a few things to show how complicated it is: eggs, wheels, explicit namespace packages, setuptools, distutils, import hooks, import meta paths, importlib, easy_install, venvs, virtualenvs, zip imports, freezed packages, source packages for C/C++ libraries and a lot of other things that I don't even know or remember anymore. Most of you guys complaining don't really understand how hard certain things are if you consider all consequences. Read about Chesterton's Fence and try to understand why you shouldn't want something changed unless you understand why it is that way in the first place. |
Thank you @Carreau. Finally someone who does not follow the church of pinning stuff without thinking about the consequences. Here is another case why pinning to older versions is not always a good idea: palantir/python-language-server#898 (comment). Unfortunately the Jedi and Parso pair are a frequent cause for headaches for packagers. Not only pip and conda, but also Linux distributions. I am looking forward to a more stable API once they reach 1.0. |
Thanks everyone for the inputs; if we want to have discussion as to why/when pinning and why when not to pin, and other I suggest we don't use the bug tracker, maybe discourse.jupyter.org; but stop adding to this particular issue. IPython is a bit in a tough spot as it is both a library and application (in general you want to have a lock file to pin deps for applications, but be as liberal as possible when building a library). There is also a lot of issues that arise from the fact that maintainers time and desire to maintain can come and go; I definitely thought that by sept 2020 IPython 8 would be out, and that other maintainers like @davidhalter from jedi would also welcome more testing and help. The Python package ecosystem is also quite old; and PyPI relatively recent; the requirements and needs of today's infrastructure can also be much different than what was expected even 5 years ago. That plus it works from HPC system to end-user that are starting to program so there is a lot of difficulties there. Thanks everyone, I've now released 7.20 feel free to open bug reports if you encounter any issues. |
Relevant traceback reads as follows:
sys info:
same reported in jedi repo too
The text was updated successfully, but these errors were encountered: