通过nvim-lspconfig配置pyls出现pyls字段为nil报错如何解决
问题原因及解决方案
1. 核心报错原因
你遇到的attempt to index field 'pyls' (a nil value)报错,是因为旧版pyls已经停止维护,当前nvim-lspconfig已经移除了对废弃pyls的配置支持,对应的替代方案是社区维护的python-lsp-server(缩写为pylsp)。
2. 分步修复步骤
- 第一步:卸载已安装的废弃包
执行命令:pip uninstall python-language-server - 第二步:安装当前官方维护的Python语言服务端
执行命令:pip install python-lsp-server
如果需要额外的语法检查、格式化等扩展功能,可以安装全量可选依赖:pip install python-lsp-server[all] - 第三步:修改
init.vim中的配置代码
把原来的lua require('lspconfig').pyls.setup{}替换为如下内容:require('lspconfig').pylsp.setup{} - 第四步:确认插件加载正常
确保你使用的插件管理器(vim-plug、packer等)已经正确安装并加载了neovim/nvim-lspconfig,配置修改完成后重启Neovim即可生效。
可选方案
如果你更习惯之前使用的pyright,也可以不用切换到pylsp,直接在原生LSP中配置pyright即可:安装pyright依赖包后,把配置改为require('lspconfig').pyright.setup{},和你之前在coc.nvim中的使用体验基本一致。
内容的提问来源于stack exchange,提问作者Dhruv Makwana
相关产品推荐
相关产品推荐

