问题标签 [python-language-server]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4079 浏览

python - 尝试安装 python-language-server 时出现“错误:命令‘gcc’失败,退出状态为 1”

我的系统中安装了以下 pip

我系统中安装的python版本是-

我正在尝试安装python-language-server并遇到以下错误 -

为 ujson 运行 setup.py install ... 错误 ERROR: Command errored out with exit status 1: command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-yoqmgayp/ujson/setup.py'"'"'; file ='"'"'/tmp/pip-install-yoqmgayp/ujson/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)( file ) ;code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(代码,文件,'"'"'exec'"'"'))' 安装 --record /tmp/pip-record-h4azsb93/install-record.

运行 build_ext
构建“ujson”扩展
创建构建
-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I./ python -I./lib -I/usr/include/python3.8 -c ./python/ujson.c -o build/temp.linux-x86_64-3.8/./python/ujson.o -D_GNU_SOURCE 在包含的文件中./python/ujson.c:39: ./python/py_defines.h:39:10: 致命错误:Python.h: 没有这样的文件或目录 39 | #包括 | ^~~~~~~~~~ 编译终止。错误:命令“gcc”失败,退出状态为 1 c -o build/temp.linux-x86_64-3.8/./python/ujson.o -D_GNU_SOURCE 在 ./python/ujson.c:39 包含的文件中:./python/py_defines.h:39:10: 致命错误: Python.h: 没有这样的文件或目录 39 | #包括 | ^~~~~~~~~~ 编译终止。错误:命令“gcc”失败,退出状态为 1 c -o build/temp.linux-x86_64-3.8/./python/ujson.o -D_GNU_SOURCE 在 ./python/ujson.c:39 包含的文件中:./python/py_defines.h:39:10: 致命错误: Python.h: 没有这样的文件或目录 39 | #包括 | ^~~~~~~~~~ 编译终止。错误:命令“gcc”失败,退出状态为 1


错误:命令出错,退出状态为 1:/usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-yoqmgayp/ujson/setup.py'"'"'; file ='"'"'/tmp/pip-install-yoqmgayp/ujson/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)( file ) ;code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(代码,文件,'"'"'exec'"'"'))' 安装 --record /tmp/pip-record-h4azsb93/install-record.

以下是我的操作系统详细信息 -

我该如何解决这个错误?

0 投票
1 回答
346 浏览

language-server-protocol - 语言服务器是远程进程还是本地进程

许多 IDE 和插件都在谈论提供一些 IDE 功能(如自动完成、linting 和突出显示)的语言服务器。语言服务器只是一些也在我的机器上运行的本地进程,还是我的代码被发送到某处进行分析(如果我没有互联网,功能会停止工作)。此外,如果代码被发送到某个地方,那又如何安全?

0 投票
2 回答
60 浏览

c# - 嵌入式 IronPython 脚本的代码完成/语言服务器

我有一个应用程序将一些 c# 对象暴露给嵌入式 IronPython 解释器,如下所示:

实际上,python 源代码来自运行时加载的文本文件。

在 VSCode 或其他编辑器中编辑这样的源文件时,提供代码完成的语言服务器显然不知道什么是可用的。所以你没有代码完成和恼人的错误曲线无处不在。

是否有可能为常用的语言服务器之一编写某种插件/提示/linting 文件,以告诉他们导出的 C# API 以在编辑 python 源文件时完成工作代码?

0 投票
2 回答
209 浏览

visual-studio-code - 语言服务器协议:获取内部函数/类的符号信息

我想要的是

我正在 VSCode (a la vscode.commands.executeCommand(...)) 中搜索返回函数/类的内部函数/类的符号信息 (大纲) 的命令。

例子

类似 vscode.commands.executeCommand('vscode.??', Range(2,6))on的命令

innerfoo应该返回一个带有and的数组innerfoo2

我发现了什么

该命令vscode.commands.executeCommand('vscode.executeDocumentSymbolProvider')将为整个文档提供第一级符号信息。例如在

只有MyClass被发现

0 投票
1 回答
575 浏览

python - VS Code 未显示有用的 Python 代码片段

Visual Studio Code 不再显示 Python 代码片段。我不知道这是来自 Python 语言服务器的错误(我已经尝试过 Jedi、Microsoft 和 Pylance)还是 VSCode 问题。

它用于显示类的有用代码片段,“if _ name _ = '_ main _'”和 def 语句。

不幸的是,我没有任何关于它过去的照片,但现在它不再向我展示这些片段了。

0 投票
1 回答
1516 浏览

neovim - 尝试通过 nvim-lspconfig 配置 pyls

我正在尝试从vscode切换到neovim。我已经coc.nvim配置了,pyright但现在neovim提供了对language-server. 所以我尝试配置python-language-server. 我已经安装pylspip install python-language-server。我浏览了lsp-quickstart. 它说我只需要添加 neovim/nvim-lspconfig到我的插件,然后添加lua require('lspconfig').pyls.setup{}到我的init.vim. 刷新后我收到错误:

我试着用谷歌搜索它,但没有找到任何相关的答案。如果您已配置它,请帮助我。

0 投票
1 回答
145 浏览

neovim - python-language-server 配置文件位置

我正在尝试flake8用作在 neovim v0.5 上使用的默认 python python-language-serverlinter。

python-lsp 文档说设置pylsp.configurationSources['flake8'],但没有指定要编辑的文件。

这个配置文件在哪里?

0 投票
1 回答
1014 浏览

neovim - Neovim 内置 LSP 显示没有可用于 Python 文件的代码操作

当我打开一个 python 文件时,诊断似乎工作正常。然后我导航到出现诊断错误的行,按快捷方式调用代码操作(在我的情况下为“<space>ca”),我收到一条消息“没有可用的代码操作”。我尝试针对不同的错误运行它,例如以下错误:

到目前为止,我已经尝试了两个 LSP 服务器:pyright 和 pylsp,它们都给了我相同的“没有可用的代码操作”

我看到了一个类似的问题,但是 JavaScript在这里问,它建议安装一个插件,但这对我不起作用。

0 投票
0 回答
73 浏览

language-server-protocol - python-language-server 不会将我的文件夹确认为项目

在 Odoo 模块上工作,我创建了一个项目文件夹,根据我在书中找到的指示进行布局

“Odoo 14 开发手册 - 第 4 版”

这是我的项目文件夹的布局

src/*包含 odoo 代码本身和一堆 .pyi 文件,这些文件与 PyCharm 的 Odoo 模块一起分发

contrib/*包含由 Odoo 社区协会 (OCA) 和意大利 Odoo 用户协会分发的 Odoo 模块(主要是本地化内容)

env包含 PyCharm 使用的 virtualenv

.venv包含 Poetry 使用的 virtualenv(我正在考虑切换到 Poetry)

local包含我正在处理的实际模块

在基于诗歌的环境中,我安装了 python-language-server 作为开发依赖项

这是我pyproject.toml文件中的一个片段

当我在 Emacs 中打开一个缓冲区时local/project_Im-working-on/models/some-model.py,python-language-server 将一个.ropeproject文件夹放在local/project_Im-working-on

这个可以吗 ?

根文件夹不是更合适吗?

我如何指示它找到我的contribsrc文件夹?

这是我的 Emacs 初始化文件中的一个片段

0 投票
0 回答
235 浏览

python - `pyright` LSP 可以导航到不同的模块吗?

pyrightgoto 定义命令应该跳转到不同的模块吗?

我像这样导入python类from a.b.c import Foo

当我的光标打开a = Foo()并且我调用lua vim.lsp.buf.definition()nvim 时,它只会跳转到文件的顶部,但不会按照定义进入另一个模块。在顶部导入上执行相同的命令无济于事。

我在我的 init.vim 中使用以下脚本来设置root_dir