neoclide / coc-python

Python extension for coc.nvim, fork of vscode-python
574 stars 51 forks source link

Version hell in latest update #188

Open esm7 opened 4 years ago

esm7 commented 4 years ago

Hi, My coc-python updated today which creates a package version hell. Starting today coc-python requires Jedi >= 0.17.0, as I started to get this error based on the latest commit to completion.py: RuntimeError: Jedi version 0.15.1 too old, requires >= 0.17.0 However, Jedi 0.17.0 is not supported by the latest python-language-server in both Arch and pip (0.31.8), which requires jedi<0.16,>=0.14.1. My solution so far was to ignore the updates for Jedi until python-language-server is updated in Arch, but now when coc-python updated it became impossible. Is it intentional that coc-python would suddenly break existing systems and require a bleeding-edge package that isn't updated for most people yet?

danielepusceddu commented 4 years ago

I have this problem too.

chemzqm commented 4 years ago

bleeding-edge package that isn't updated for most people yet?

It is latest version installed by pip, it's possible to install old version of coc-python and lock it.

esm7 commented 4 years ago

It is latest version installed by pip, it's possible to install old version of coc-python and lock it.

So two interesting things here.

  1. If I pip install jedi indeed I get Jedi 0.17, however once I pip install python-language-server, it installs pyls 0.31.10 and then due to the requirement jedi<0.16,>=0.14.1 installs Jedi 0.15.2. Am I doing something wrong?
  2. As a workaround until this is resolved one way or another, how can I install an old version of coc-python? I couldn't find anything about this in the documentation. Only how to prevent updates of an existing extension vesion.

EDIT: It indeed seems like the latest tag of pyls is 0.31.10, and from what I can see, it indeed requires jedi<0.16: https://github.com/palantir/python-language-server/commit/fdb8b3dbc5df7d12729d135932bf2264e0883061 The same requirement is on master. What am I missing here?

Bilalharoon commented 4 years ago

I also have this error. Has anyone figured out a way to install an older version?

Bilalharoon commented 4 years ago

Ok I figured it out :CocUninstall coc-python :CocInstall coc-python@1.2.9

Make sure to disable extension auto update until it is fixed