问题出在Arch(1)& Debian Jessie(2)其中:
1.
> uname -r 4.0.5-1-ARCH > echo $PYTHONPATH /usr/lib/python2.7/
> Debian Jessie没有PYTHONPATH设置.
我的vim是用python编译的.
:python import sys; print(sys.version) 2.7.10 (default,May 26 2015,04:16:29) [GCC 5.1.0]
我尝试了以下Arch Linux软件包:
> pacman -S python2-jedi vim-jedi
完成适用于类但不适用于子类.
import os # os is built-in library. os. # ycm does not complete members of this class.
我删除了它们并下载了git包.
> cd ~/.vim/bundle/jedi-vim/jedi/test/ && ./run.py Summary: (0 fails of 962 tests) in 18.819s > cd ../ && ./setup build && ./setup install
同样,完成适用于类,但不适用于子类.
我之前的问题是从Vim YouCompleteMe Python subclasses are not detected on TAB-completion in Arch Linux开始把我送到jedi-vim
我刚刚意识到由于我的不理解而犯了一个错误.我试图导入以下方式:
原文链接:https://www.f2er.com/bash/386887.html当我使用带有完成标签的ipython时这是很自然的:
这是在python脚本中导入模块的错误方法.这是正确的方法:
最后,Jedi-Vim插件完美运行.如果与不可用的进口相关的不确定性,您可以使用以下方式验证您的
:python import sys; print(sys.path)
然后在运行时添加缺少的目录,以测试它们的缺失是否导致问题.
:python import sys; sys.path.append("/path/to/dir")
在我的例子中,os.py位于/usr/lib/python2.7/.
我希望这能为未来的Jedi-Vim用户澄清这一点.