微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在TAB完成时未检测到Jedi Vim Python子类

问题出在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

我刚刚意识到由于我的不理解而犯了一个错误.我试图导入以下方式:

当我使用带有完成标签的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用户澄清这一点.

原文地址:https://www.jb51.cc/vim/386887.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐