manateelazycat / lsp-bridge

A blazingly fast LSP client for Emacs
GNU General Public License v3.0
1.46k stars 214 forks source link

Support "pipx run" command as lsp-bridge-python-command #1101

Closed zonuexe closed 2 weeks ago

zonuexe commented 2 weeks ago

Motivation

In recent years, it has become very difficult to do a system-wide pip install as described in the README due to PEP 668 – Marking Python base environments as “externally managed”.

Solution

pipx run transparently creates a virtual environment and automatically resolves the latest dependencies.

pipx supports PEP 723 – Inline script metadata, so packages embedded in lsp_bridge.py scripts will be automatically installed.

The tradeoff is that we have to wait a few seconds on startup for the dependency checks, which was not a pain for me since it only happens when the server starts.

To enable pipx to start servers, just set the following option:

(setopt lsp-bridge-python-command "pipx")

What do you think about offering an opt-in feature like this?

manateelazycat commented 2 weeks ago

thanks for patch.