Python 3.6.8 - Jedi - ImportError: cannot import name 'traverse_parents'

Python 3.6.8 - Jedi - ImportError: cannot import name 'traverse_parents'

When 运行ning import jedi in python 3.6.8 我得到以下导入错误(完整回溯见 post 末尾):

...
from jedi.common import traverse_parents
ImportError: cannot import name 'traverse_parents'

我检查了 ~/.local/lib/python3.6/site-packages/jedi/common.py :有一个函数叫做 traverse_parents 好吧所以肯定有一些巫术在起作用。这不是我第一次 运行 遇到那些“未定义的名称”问题之一,但我 运行 对此一无所知。

已经尝试过:

关于如何修复它的模糊线索:

我在网上搜索了这个问题的答案,但一无所获。有没有人经历过类似的事情并设法解决了?

欢迎提出任何建议。


完整回溯:

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'

已修复: 我用这个命令通过 pip 重新安装了最新版本的 jedi :

pip3 install -e git://github.com/davidhalter/jedi.git#egg=jedi

现在,命令 import jedi 不会产生任何异常,它似乎在 Neovim 中工作正常。

pip3 install jedi安装的默认版本产生ImportError的原因超出了我的猜测。也许这个版本本身有问题,也许是我的 python 环境有些怪癖...

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

总之。如果你和我有同样的问题,试试这个修复。