From 602e9e2b3d5cd9f7f8ad5963e77d18be59e35f58 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Thu, 18 May 2023 15:38:02 +0200 Subject: Jot down a couple of notes re. Python development --- guides/python.org | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 guides/python.org (limited to 'guides/python.org') diff --git a/guides/python.org b/guides/python.org new file mode 100644 index 0000000..3c11b13 --- /dev/null +++ b/guides/python.org @@ -0,0 +1,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 + -- cgit v1.2.3