Sublime Forum

Mulitple plugins stopped working, loading under wrong python version?

#1

When this problem started occurring, I had not upgraded my SublimeText 4 (4152) installation. I upgraded to 4169 and it did not help. I removed and re-installed the offending packages, that did not help. I started getting errors while plugins were installing requirements. The plugins that I’m having an issue with are LSP-ruff and LSP-pylsp.

Using LSP-pylsp as an example:

It’s failing trying to install mypy 1.8.0. As far as I understand, mypy 1.8.0 is not available for python 3.3 which is the default plugin python version. However, when I uninstall and re-install LSP-pylsp, it appears to be using python 3.7.

/Users/xxx/Library/Caches/Sublime Text 3/Package Storage/LSP-pylsp/pyvenv.cfg implies that python 3.7 is being used (seems odd to me since I thought the options for plugins ver 3.3 or 3.8). mypy==1.8.0 is not available for 3.7 either.

Why would the plugin author not specify 3.8 as the plugin version but use a version of mypy that’s for 3.8? I’d believe there must be something wrong with my setup and not the plugin.

Messages from the console when installing and enabling the plugin:

Package Control: Installed package "LSP-pylsp" 2.18.0
reloading settings Packages/LSP-pylsp/LSP-pylsp.sublime-settings
reloading python 3.3 plugin LSP-pylsp.plugin

The error that popups once the plugin is loaded:

--- Error: ---
Error installing the server:
Collecting mypy==1.8.0 (from -r /Users/xxx/Library/Caches/Sublime Text 3/Package Storage/LSP-pylsp/requirements.txt (line 1))
Could not find a version that satisfies the requirement mypy==1.8.0 (from -r /Users/xxx/Library/Caches/Sublime Text 3/Package Storage/LSP-pylsp/requirements.txt (line 1)) (from versions: 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.21, 0.221, 0.222, 0.223, 0.224, 0.225, 0.226, 0.227, 0.228, 0.229, 0.230, 0.231, 0.232, 0.233, 0.234, 0.235, 0.236, 0.237, 0.238, 0.239, 0.240, 0.241, 0.250, 0.251, 0.252, 0.253, 0.254, 0.255, 0.256, 0.470, 0.471, 0.501, 0.510, 0.511, 0.520, 0.521, 0.530, 0.540, 0.550, 0.560, 0.570, 0.580, 0.590, 0.600, 0.610, 0.620, 0.630, 0.641, 0.650, 0.660, 0.670, 0.700, 0.701, 0.710, 0.711, 0.720, 0.730, 0.740, 0.750, 0.760, 0.761, 0.770, 0.780, 0.781, 0.782, 0.790, 0.800, 0.812, 0.900, 0.901, 0.902, 0.910, 0.920, 0.921, 0.930, 0.931, 0.940, 0.941, 0.942, 0.950, 0.960, 0.961, 0.971, 0.981, 0.982, 0.990, 0.991, 1.0.0, 1.0.1, 1.1.1, 1.2.0, 1.3.0, 1.4.0, 1.4.1)
No matching distribution found for mypy==1.8.0 (from -r /Users/xxx/Library/Caches/Sublime Text 3/Package Storage/LSP-pylsp/requirements.txt (line 1))

Similarly for LSP-ruff:

Failed to start LSP-ruff - disabling for this window for the duration of the current session.
Re-enable by running "LSP: Enable Language Server In Project" from the Command Palette.

--- Error: ---
Error installing the server:
Collecting ruff-lsp==0.0.49 (from -r /Users/xxx/Library/Caches/Sublime Text 3/Package Storage/LSP-ruff/requirements.txt (line 1))
Using cached https://files.pythonhosted.org/packages/af/ad/a8731b2601dc8cdf2e706a5f0accab13cf7b3f059df4121309dab2a5e600/ruff_lsp-0.0.49-py3-none-any.whl
Collecting pygls>=1.1.0 (from ruff-lsp==0.0.49->-r /Users/xxx/Library/Caches/Sublime Text 3/Package Storage/LSP-ruff/requirements.txt (line 1))
Could not find a version that satisfies the requirement pygls>=1.1.0 (from ruff-lsp==0.0.49->-r /Users/xxx/Library/Caches/Sublime Text 3/Package Storage/LSP-ruff/requirements.txt (line 1)) (from versions: 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.8.0, 0.8.1, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.12rc1, 0.12, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.13.0, 0.13.1, 1.0.0a0, 1.0.0a2, 1.0.0a3, 1.0.0, 1.0.1, 1.0.2)
No matching distribution found for pygls>=1.1.0 (from ruff-lsp==0.0.49->-r /Users/xxx/Library/Caches/Sublime Text 3/Package Storage/LSP-ruff/requirements.txt (line 1))
0 Likes

#2

Because LSP servers are external programs, which is not and can’t be run by ST’s embedded python. Servers are run by the python installed in user’s env.

Options for you would be

  • upgrade the python on your machine
  • use an old version of LSP-pylsp (but which version and how to pin that version so it won’t auto upgrade?)
  • LSP-pyright provides partial functionality of LSP-pylsp, but still you want LSP-ruff, which has no LSP-* replacement afaik.
0 Likes

#3

Thank you @jfcherng! Super-helpful insights that point me in the right direction.

0 Likes