gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 12:29:42 25 4
gpt4 key购买 nike

问题出在 Arch (1) 和 Debian Jessie (2) 上,其中:

1.

> uname -r
4.0.5-1-ARCH
> echo $PYTHONPATH
/usr/lib/python2.7/
  1. 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

最佳答案

我才意识到,由于我的不理解,我犯了一个错误。我试图通过以下方式导入:

wrongway

当我使用带有制表符补全的 ipython 时,这是很自然的:

ipython

这是在 python 脚本中导入模块的错误方法。这是正确的方法:

rightway

最后,Jedi-Vim 插件完美运行。如果与不可用导入相关的不确定性,您可以通过以下方式验证您的导入:

:python import sys; print(sys.path)

然后在运行时添加缺失的目录,以测试它们的缺失是否是导致问题的原因。

:python import sys; sys.path.append("/path/to/dir")

在我的例子中,os.py 位于 /usr/lib/python2.7/

我希望这能为 future 的 Jedi-Vim 用户澄清这一点。

关于python - 在 TAB 完成时未检测到 Jedi Vim Python 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31233669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com