Python 语言服务器已安装,但 Helix 文本编辑器找不到

问题描述 投票:0回答:1

问题描述

我正在使用 Helix 文本编辑器,并尝试向其中添加 Python 语言服务器(链接)。

我使用官方网站上的

.exe
安装了 Python 3。然后我执行这些命令来安装 Python 语言服务器:

C:\Users\ZIGLA> pip config set global.trusted-host "pypi.org files.pythonhosted.org pypi.python.org"
C:\Users\ZIGLA> pip install pip-system-certs
C:\Users\ZIGLA> python.exe -m pip install python-lsp-server

安装成功,但当我尝试运行

pylsp
命令时,我的系统找不到它。当我检查其运行状况时,Helix 编辑器也无法检测到它:

C:\Users\ZIGLA> hx --health

Config file: C:\Users\ZIGLA\AppData\Roaming\helix\config.toml
Language file: C:\Users\ZIGLA\AppData\Roaming\helix\languages.toml
Log file: C:\Users\ZIGLA\AppData\Local\helix\helix.log
Runtime directories: C:\Users\ZIGLA\AppData\Roaming\helix\runtime;C:\Users\ZIGLA\AppData\Roaming\helix\runtime;\\?\C:\Users\ZIGLA\AppData\Roaming\helix\runtime
Clipboard provider: clipboard-win
System clipboard provider: clipboard-win

Language            LSP                 DAP                 Highlight           Textobject          Indent

...

python              ✘ pylsp             None                ✓                   ✓                   ✓

...

我尝试解决问题

首先我检查了

pip
安装Python语言服务器的位置:

C:\Users\ZIGLA> pip list -v

Package               Version Location                                                      Installer
--------------------- ------- ------------------------------------------------------------- ---------
docstring-to-markdown 0.15    C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages pip
jedi                  0.19.1  C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages pip
parso                 0.8.4   C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages pip
pip                   24.0    C:\Program Files\Python311\Lib\site-packages                  pip
pip-system-certs      4.0     C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages pip
pluggy                1.4.0   C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages pip
python-lsp-jsonrpc    1.1.2   C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages pip
python-lsp-server     1.11.0  C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages pip
setuptools            65.5.0  C:\Program Files\Python311\Lib\site-packages                  pip
ujson                 5.9.0   C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages pip
wrapt                 1.16.0  C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages pip

我检查这个文件夹:

C:\Users\ZIGLA> ls C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages

    Directory: C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----           4/16/2024  8:59 PM                docstring_to_markdown
d----           4/16/2024  8:59 PM                docstring_to_markdown-0.15.dist-info
d----           4/16/2024  8:59 PM                jedi
d----           4/16/2024  8:59 PM                jedi-0.19.1.dist-info
d----           4/16/2024  8:59 PM                parso
d----           4/16/2024  8:59 PM                parso-0.8.4.dist-info
d----           4/16/2024  8:58 PM                pip_system_certs
d----           4/16/2024  8:58 PM                pip_system_certs-4.0.dist-info
d----           4/16/2024  8:59 PM                pluggy
d----           4/16/2024  8:59 PM                pluggy-1.4.0.dist-info
d----           4/16/2024  8:59 PM                pylsp
d----           4/16/2024  8:59 PM                pylsp_jsonrpc
d----           4/16/2024  8:59 PM                python_lsp_jsonrpc-1.1.2.dist-info
d----           4/16/2024  8:59 PM                python_lsp_server-1.11.0.dist-info
d----           4/16/2024  8:59 PM                ujson-5.9.0.dist-info
d----           4/16/2024  8:58 PM                wrapt
d----           4/16/2024  8:58 PM                wrapt-1.16.0.dist-info
-a---           4/16/2024  8:58 PM            115 pip_system_certs.pth
-a---           4/16/2024  8:59 PM          70656 ujson.cp311-win_amd64.pyd

我看到Python语言服务器安装在

pylsp
子文件夹中。但是,当我检查此文件夹时,我看不到任何可执行文件。看起来这是一个 python 模块:

C:\Users\ZIGLA> ls C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages\pylsp\

    Directory: C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages\pylsp

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----           4/16/2024  8:59 PM                __pycache__
d----           4/16/2024  8:59 PM                config
d----           4/16/2024  8:59 PM                plugins
-a---           4/16/2024  8:59 PM            762 __init__.py
-a---           4/16/2024  8:59 PM           3807 __main__.py
-a---           4/16/2024  8:59 PM           9866 _utils.py
-a---           4/16/2024  8:59 PM             23 _version.py
-a---           4/16/2024  8:59 PM           2353 hookspecs.py
-a---           4/16/2024  8:59 PM           2050 lsp.py
-a---           4/16/2024  8:59 PM          35177 python_lsp.py
-a---           4/16/2024  8:59 PM           2768 text_edit.py
-a---           4/16/2024  8:59 PM           3834 uris.py
-a---           4/16/2024  8:59 PM          21846 workspace.py

Helix 编辑器需要此插件。这就是为什么我尝试将此路径添加到

PATH
环境变量中。通过像这样打开我的 Powershell 配置文件:

hx $PROFILE

并在里面添加这一行:

$ENV:PATH += ";C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages\pylsp"

我重新启动了终端,我可以看到该路径已附加在

PATH
:

的末尾
C:\Users\ZIGLA> echo $ENV:PATH
C:\Program Files\PowerShell\7;C:\Program Files\Microsoft MPI\Bin\;C:\Program Files\Python311\Scripts\;C:\Program Files\Python311\;C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\Citrix\HDX\bin\;C:\Program Files\Citrix\HDX\bin\;C:\Program Files (x86)\Citrix\Workspace Environment Management Agent;C:\Program Files\PowerShell\7\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\Azure Data Studio\bin;C:\Program Files\Azure Dev CLI\;C:\Program Files\PuTTY\;C:\Program Files\nodejs\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\dotnet\;C:\Program Files (x86)\Microsoft SQL Server\160\Tools\Binn\;C:\Program Files\Microsoft SQL Server\160\Tools\Binn\;C:\Program Files\Microsoft SQL Server\160\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\160\DTS\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Meld\;C:\Users\ZIGLA\AppData\Local\Programs\Python\Python312\Scripts\;C:\Users\ZIGLA\AppData\Local\Programs\Python\Python312\;C:\Users\ZIGLA\AppData\Local\Programs\Python\Launcher\;C:\Users\ZIGLA\AppData\Local\Microsoft\WindowsApps;C:\Users\ZIGLA\AppData\Local\GitHubDesktop\bin;C:\Users\ZIGLA\.dotnet\tools;C:\Users\ZIGLA\AppData\Local\Programs\Git\cmd;C:\Users\ZIGLA\AppData\Local\Microsoft\WinGet\Links;;C:\Users\ZIGLA\AppData\Roaming\helix;C:\Users\ZIGLA\AppData\Roaming\omnisharp-win-x64;C:\Program Files\Meld;C:\Program Files\Windows Application Driver;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE;C:\Users\ZIGLA\AppData\Local\DeviceTestCenter\Tools;C:\Program Files (x86)\Microsoft SQL Server Management Studio 19\Common7\IDE;C:\Users\ZIGLA\AppData\Roaming\Python\Python311\site-packages\pylsp

但是,症状仍然存在。 Helix 在检查其运行状况时无法检测到

pylsp

python helix-editor pylsp
1个回答
0
投票

当我尝试卸载语言服务器时,我发现了

pylsp.exe
所在的位置!

C:\Users\ZIGLA> python.exe -m pip uninstall python-lsp-server
Found existing installation: python-lsp-server 1.11.0
Uninstalling python-lsp-server-1.11.0:
  Would remove:
    c:\users\zigla\appdata\roaming\python\python311\scripts\pylsp.exe
    c:\users\zigla\appdata\roaming\python\python311\site-packages\pylsp\*
    c:\users\zigla\appdata\roaming\python\python311\site-packages\python_lsp_server-1.11.0.dist-info\*

我一直在向

PATH
添加错误的路径。当我在我的 Powershell 配置文件中添加这一行时:

$ENV:PATH += ";C:\Users\ZIGLA\AppData\Roaming\Python\Python311\scripts"

现在一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.