加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 18:57:28 所属栏目:安全 来源:网络整理
导读:问题出在Arch(1) Debian Jessie(2)其中: 1. uname -r4.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.
问题出在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用户澄清这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读