2016-06-13 3 views
1

Недавно я добавил jedi-vim в мой плагин арсенала. Он отлично подходит для стандартных модулей, но не может найти элементы bpy и bmesh.Сценарий автозаполнения блендера с использованием jedi-vim

Таким образом, в консоли блендера я взял выход из print(sys.path) и добавить его к функции vimscript в .lvimrc файле, например:

function BpyPath() 
    python sys.path.append('/home/john/src/blender-2.77-linux-glibcl211-x86_64/2.77/python/lib/python3.5') 
    ... 
endfunction 

Теперь она работает лучше. Typing bpy. дает мне:

enter image description here

Но набрав bpy.context. все еще дает мне: - Omni завершение (^ O^N^P) шаблон не найден

Версии:

  • Blender: 2.77a 64-bit linux
  • ОС: Fedora 22
  • Python: 2.7.10
  • Vim: 7,4

Я не очень продвинутый питона или ВИМ пользователя, поэтому любая помощь приветствуется.

+0

Что вы хотели бы показать? – SibiCoder

+0

@SibiCoder Функции и переменные в пространстве имен bpy.context – John

+0

Можете ли вы привести примерный фрагмент с объяснением littel и показать мне, что вы хотите? – SibiCoder

ответ

2

Я только понял, что надежды нет, потому что вы уже разговариваете с скомпилированным (C/C++) модулем.

Если dir(bpy.context) (в оболочке Python) не дает вам посылок, которые вы хотите, Jedi также не сможет вывести эту информацию. Если dir дает вам что-то разумное, просто создайте проблему в трекер-джедае. Это будет ошибка, ИМО.

Я планирую систему плагинов для джедая, чтобы можно было использовать джедай с такими прецедентами. Но это, вероятно, займет два года.

+0

Нет. Это не принесло никакого полезного результата. Я просто подожду два года. Благодарю. – John

+1

Дэйв - Я ожидаю, что вы получите больше вопросов о блендере автозаполнения, поскольку это происходит чаще. См. Мой ответ на этот вопрос, поскольку модуль bpy блендера не является нормальным модулем python и потребует дополнительной настройки вне вашего проекта. – sambler

2

Это часто ловит людей. Модуль Blender bpy - это скомпилированный модуль, созданный из исходного кода в блендере. Двоичный модуль для модуля объединяется в бинарник блендера и не доступен вне интерпретатора python внутри блендера.

Можно скомпилировать блендер самостоятельно и включить возможность построения blender as a python module, которую вы можете импортировать в любой интерпретатор python и, вероятно, будет решением, которое вы ищете.

В this answer вы также можете найти ссылки на другие ответы, в которых есть советы по использованию затмения и пичарма с блендером, которые могут быть полезны.

Смежные вопросы