summaryrefslogtreecommitdiff
path: root/guides/python.org
diff options
context:
space:
mode:
Diffstat (limited to 'guides/python.org')
-rw-r--r--guides/python.org40
1 files changed, 40 insertions, 0 deletions
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
+