我最近将jedi-vim添加到我的插件库中。它适用于标准模块,但无法找到bpy和bmesh。
所以在blender控制台中我获取了print(sys.path)
的输出并将其添加到.lvimrc
文件中的vimscript函数中,如下所示:
function BpyPath()
python sys.path.append('/home/john/src/blender-2.77-linux-glibcl211-x86_64/2.77/python/lib/python3.5')
...
endfunction
现在效果更好。输入bpy.
会给我:
但输入bpy.context.
仍然可以让我: - Omni完成(^ O ^ N ^ P)未找到模式
版本:
我不是一个非常高级的python或vim用户,所以感谢任何帮助。
答案 0 :(得分:2)
我刚才意识到没有太多的希望,因为你已经在谈论编译的(C / C ++)模块。
如果dir(bpy.context)
(在Python shell中)没有为您提供所需的完成,Jedi也无法推断出这些信息。如果dir
为您提供合理的信息,只需在Jedi问题跟踪器中创建一个问题。这将是一个错误,IMO。
我正在为Jedi规划插件系统,以便将Jedi用于此类用例。但这可能需要两年时间。
答案 1 :(得分:2)
这经常会让人们失望。 Blender的bpy
模块是一个由blender中的源代码创建的编译模块。模块的二进制文件被合并到blender的二进制文件中,并且不能在blender中的python解释器之外使用。
可以自己编译blender并启用一个选项来构建blender as a python module,您可以将其导入到任何python解释器中,并且可能是您正在寻找的解决方案。
在this answer中,您还可以找到一些其他答案的链接,这些答案提供了使用eclipse和pycharm与blender的提示,可能会有所帮助。
答案 2 :(得分:-1)
Blender Python文本编辑器IDE
中有一个新工具 Bacutor ,其中有intellisense
,syntax Highlight
以及更多