Python 3.6.8-绝地-导入恐怖:无法导入名称“traverse\u parents”

Python 3.6.8-绝地-导入恐怖:无法导入名称“traverse\u parents”,python,python-3.x,importerror,jedi-vim,Python,Python 3.x,Importerror,Jedi Vim,在python 3.6.8中运行import jedi时,我遇到以下导入错误,请参阅文章末尾以了解完整的回溯: ... from jedi.common import traverse_parents ImportError: cannot import name 'traverse_parents' 我签入了~/.local/lib/python3.6/site-packages/jedi/common.py:有一个名为traverse_parents的函数,所以肯定有一些巫术在起作用。这不

在python 3.6.8中运行import jedi时,我遇到以下导入错误,请参阅文章末尾以了解完整的回溯:

...
from jedi.common import traverse_parents
ImportError: cannot import name 'traverse_parents'
我签入了~/.local/lib/python3.6/site-packages/jedi/common.py:有一个名为traverse_parents的函数,所以肯定有一些巫术在起作用。这不是我第一次遇到这些未定义名称的问题,但是我对这个问题已经没有什么想法了

已尝试:

卸载、重新安装和升级pip3的绝地软件包 在其他几个以绝地武士的名字命名的包裹里也有同样的爵士乐 将pip3升级到20.2.1并重新执行相同的重新安装例行程序 为python2安装绝地,因为为什么不呢嘿,它在python2中工作得很好,但谁在乎呢 还尝试从apt安装python jedi,后来我将其删除 对古巴比伦恶魔的咒语无效,它们在星期天不起作用 关于如何修复它的模糊线索:

从github获取最新版本的绝地,并以某种方式安装它,而不会造成混乱 卸载绝地并从Neovim hey中重新安装绝地,这可能达到上一点 我在网上搜寻这个问题的答案,但一无所获。有没有人经历过类似的事情并设法解决了它

欢迎任何建议

完整回溯:

修正了它: 我通过pip用以下命令重新安装了最新版本的绝地:

pip3安装-egit://github.com/davidhalter/jedi.gitegg=jedi

现在,“导入绝地”命令不会产生任何异常,而且在Neovim中似乎可以正常工作

与pip3 install jedi一起安装的默认版本之所以会产生ImportError,我猜不出原因。也许这个版本本身有缺陷,也许是我的python环境的一些怪癖

编辑:根据DavidHalter在下面的评论,这似乎是一个pip错误

无论如何。如果您有与我相同的问题,请尝试此修复。

已修复: 我通过pip用以下命令重新安装了最新版本的绝地:

pip3安装-egit://github.com/davidhalter/jedi.gitegg=jedi

现在,“导入绝地”命令不会产生任何异常,而且在Neovim中似乎可以正常工作

与pip3 install jedi一起安装的默认版本之所以会产生ImportError,我猜不出原因。也许这个版本本身有缺陷,也许是我的python环境的一些怪癖

编辑:根据DavidHalter在下面的评论,这似乎是一个pip错误


无论如何。如果您有与我相同的问题,请尝试此修复。

这是正确的问题:TL;这可能是pip中的一个bug。这绝对不是绝地的错,因为绝地没有提供pyc文件。太好了!我使用了spacevim和DeopleteJedi的自动完成插件,并报告了相同的错误。这解决了我的问题。非常感谢。这是正确的问题:TL;这可能是pip中的一个bug。这绝对不是绝地的错,因为绝地没有提供pyc文件。太好了!我使用了spacevim和DeopleteJedi的自动完成插件,并报告了相同的错误。这解决了我的问题。非常感谢。
Error detected while processing function provider#python3#Call:
line   18:                                                                                                                             
Error invoking 'python_execute' on channel 5 (python3-script-host):
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/vee/.local/lib/python3.6/site-packages/jedi/__init__.py", line 32, in <module>
    from jedi.api import Script, Interpreter, set_debug_funcion, \
  File "/home/vee/.local/lib/python3.6/site-packages/jedi/api/__init__.py", line 24, in <module>
    from jedi.api import classes
  File "/home/vee/.local/lib/python3.6/site-packages/jedi/api/classes.py", line 26, in <module>
    from jedi.inference import imports
  File "/home/vee/.local/lib/python3.6/site-packages/jedi/inference/__init__.py", line 70, in <module>
    from jedi.inference import imports
  File "/home/vee/.local/lib/python3.6/site-packages/jedi/inference/imports.py", line 24, in <module>
    from jedi.inference import sys_path
  File "/home/vee/.local/lib/python3.6/site-packages/jedi/inference/sys_path.py", line 8, in <module>
    from jedi.common import traverse_parents
ImportError: cannot import name 'traverse_parents'