jwa*_*wav 1 python importerror python-3.x jedi-vim
<TL;DR>
import jedi在 python 3.6.8 中运行时,我收到以下导入错误(完整回溯见帖子末尾):
...
from jedi.common import traverse_parents
ImportError: cannot import name 'traverse_parents'
Run Code Online (Sandbox Code Playgroud)
</TL;DR>
我登记了~/.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'
Run Code Online (Sandbox Code Playgroud)
修复它: 我使用以下命令通过 pip 重新安装了最新版本的绝地武士:
pip3 install -e git://github.com/davidhalter/jedi.git#egg=jedi
现在,该命令import jedi不会产生任何异常,并且在 Neovim 中似乎可以正常工作。
安装的默认版本pip3 install jedi生成导入错误的原因超出了我的猜测。也许这个版本本身有问题,也许是我的python环境的一些怪癖......
编辑:根据 David Halter 在下面的评论中的说法,这似乎是一个 pip 错误
反正。如果您遇到与我相同的问题,请尝试此修复程序。
| 归档时间: |
|
| 查看次数: |
1630 次 |
| 最近记录: |