Python IDE interactions in emacs without a language server

I really enjoy my minimal Emacs configuration with pyvenv, eglot and pyright language server when developing Python programs. The usual workflow for me is:

Nevertheless, there are times that I don't want the language server to be active or if I don't want to install it in a remote server to which I am connected over SSH and tramp. For this cases I use the following workflow to be able to find definitions or references of an object and run linting:

This provides almost everything I would need for simple and lightweight Python development environment.

Emacs compilation buffer with pylint * and focus on click or using next-error

Footnotes:


  1. for pyright errors to show correctly in the emacs compilation mode, the following needs to be added the Emacs configurations:

    (push 'pyright compilation-error-regexp-alist)
    (push '(pyright "^\\ +\\(.+\\):\\([0-9]+\\):\\([0-9]+\\).+$" 1 2 3) compilation-error-regexp-alist-alist)
    ↩︎