我正在尝试创建一个使用gobject库作为基础的共享C库。因此,我的对象在GObject中继承自GObject。GObject允许通过GObject自省绑定到所有不同的脚本语言。然后,可以从python中从gi.repository导入库。
import gi
gi.require_versions({'Edf': '0.0', 'GLib': '2.0'})
from gi.repository import EdfVim通过jedi-vim提供自动补全功能。对于其他使用GObject内省的库,比如GLib和GTK,这是开箱即用的。我想使用pytest来运行库的一些单元测试。我非常想编辑我的文件使用vim与自动完成为我自己的库。因此,如果我像上面那样导入一个库,我会得到GLib的自动完成,但不会得到我的Edf模块的自动完成。
我试图通过将GI_TYPELIB_PATH环境变量设置为包含我的Edf.typelib文件的目录来使自动补全起作用。我还创建了一个debian包,并将库安装到/usr/lib/x86_64-linux-gnu/,将类型库安装到/usr/lib/x86_64-linux-gnu/girepository-1.0/,这两种方法都足以在bpython3、ipython3甚至python REPL中实现自动补全,但是我无法在vim中使用jedi-vim来完成。
我会非常高兴看到它的工作。有没有人有让它工作的小贴士?
致以最良好的问候,并感谢您的关注。
发布于 2021-05-23 10:10:58
我遇到了类似的错误,因为我打算使用的python版本与被调用的版本不匹配。
确保绝地使用的是预期的python版本。例如,将let g:jedi#force_py_version =3添加到您的.vimrc
发布于 2021-05-23 10:15:58
我认为问题是你的vim版本太低了,我建议你更新到Vim 7.4并确保它已经打开了python功能,如果你想要自动补全功能,我建议你可以尝试You complete Me,它更强大,它需要vim 7.3.584+,现在vim 7.4出来了,它很容易安装,你可以这样安装,
如果这不是问题所在,那么尝试安装带有病原体的jedi-vim,希望它能起作用。
https://stackoverflow.com/questions/67492262
复制相似问题