summaryrefslogtreecommitdiff
path: root/guides/languages/python.org
blob: 3c11b1365a5af111af837db309b78de9a442a4a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
* IDE setup
#+begin_src sh
pip install --user 'python-lsp-server[all]'
pip install --user pylsp-mypy
#+end_src

This seems to be enough for Eglot to turn Emacs into a Python IDE.
This recipe will probably break once PEP 668 hits my distros; I guess
I'll switch to pipx at that stage?

Tried to get the LSP server packaged by my distro, but openSUSE
Tumbleweed at least does not make it easy:

- Python packages are explicitly named =python3$y-…=, so asking zypper
  install those means setting myself up for suffering when Tumbleweed
  moves to version =$((++y))= and I need to chase down everything I've
  manually installed to (a) install the newer versions (b) clean up
  every remnant of the previous versions & the corresponding Python
  runtime.

- I have no idea how to cajole zypper into installing those
  "suggested" dependencies; =--recommended= does not cut it,
  =--suggested= does not exist.

  #+begin_src
  $ sudo zypper install python310-python-lsp-server 
  Loading repository data...
  Reading installed packages...
  Resolving package dependencies...

  The following 10 packages are suggested, but will not be installed:
    python310-autopep8 python310-flake8 python310-mccabe python310-pycodestyle python310-pydocstyle
    python310-pyflakes python310-pylint python310-rope python310-whatthepatch python310-yapf

  The following 4 NEW packages are going to be installed:
    python310-docstring-to-markdown python310-python-lsp-jsonrpc python310-python-lsp-server python310-ujson

  4 new packages to install.
  #+end_src