6

我已经安装了coc.nvim和扩展coc-python (:CocInstall coc-python)

当我打开文件时,我拒绝 linting,然后出现错误:

[coc.nvim] Jedi error: Traceback (most recent call last):                                                                                                                File "completion.py", line 694, in <module>
[coc.nvim] Jedi error: Traceback (most recent call last):                                                                                                      
[coc.nvim] Jedi error:     import jedi
ModuleNotFoundError: No module named 'jedi'

我试图重新安装扩展和插件,但它没有帮助。

4

7 回答 7

4

如果您使用 Python 3,建议使用https://github.com/fannheyward/coc-pyright ,如果您使用 Jedi ,建议使用https://github.com/pappasam/coc-jedi 。

于 2020-12-23T07:59:50.990 回答
3

看起来你没有jedi为你的 python 解释器安装包。我希望它在你运行后工作(在你的命令行中)

pip3 install jedi

我也刚刚看到我pynvim也在我的 python 环境中安装了这个包,但我不记得你是否需要这个。

于 2021-01-15T08:20:55.293 回答
2

当我开始编辑 .py 文件时,有一些通知,但由于我正在输入,通知被跳过,然后它显示给我[coc.nvim] Jedi error: import Jedi

事实证明,通知要求我选择一个 python 解释器(我有两个解释器:一个来自 anaconda,另一个来自 python.org)。当我将 Jedi 安装到“python.org”解释器时,我没有将 Jedi 安装到 anaconda 的 python 解释器,也没有选择要使用的 python 解释器。

所以你应该这样做:

  1. 出现提示时选择 python 解释器。
  2. 如果没有提示,则手动选择 python 解释器:

:CocCommand python.setInterpreter "C:\Users\username\AppData\Local\Programs\Python\PythonVersion\python.EXE"
或者
:CocCommand python.setInterpreter "/usr/bin/python3"

并且不要忘记实际安装 Jedi:pip install jedi

于 2021-03-30T15:12:40.443 回答
1

YMMV,但通过将其添加到我的 :CocConfig 中,我克服了那个确切的错误 "python.jediEnabled": false

于 2020-07-18T01:12:18.060 回答
0

为了解决类似的问题,我做了以下两个操作:

  1. 安装最新版本的绝地:

    pip install jedi --upgrade

  2. 将 Coc Python 解释器设置为我使用的 Python 版本(并且安装了 jedi)

    在 C:\Users\myuser.vim\Coc-Settings.json 确保存在以下行

    "python.pythonPath" : "C:\\Python36_x64",

    其中“C:\Python36_x64”是我的 Python 解释器的路径

备注:Coc-Settings.json 文件不在 C:\Users\myuser\vimfiles (gVim) 也不在 C:\Users\myuser\AppData\Local\nvim (NeoVim) 中,就像 :CocConfig 命令会让你想的那样是。

于 2021-01-20T07:29:28.210 回答
0

也许这是github上的答案:

https://github.com/neoclide/coc-python/issues/193

于 2020-06-05T05:03:30.257 回答
0

一种方法是将 "python.pythonPath": "python3" 添加到您的 coc-settings.json 文件中。

如果您像我一样使用大量 python 虚拟环境或 conda 环境,请执行以下操作:

  1. 禁用绝地
$ vim ~/.config/coc/extensions/node_modules/coc-python/package.json
"python.jediEnabled": false,
  1. 为您设置以下内容:CocConfig以解决没有解释器的问题。
"python", {
\   'jediEnabled': v:false,
\   'pythonPath': split(execute('!which python'), '\n')[-1]
\ }

希望这会有所帮助~

于 2021-11-24T19:49:36.297 回答