Skip to content

Blender As Python Module

Alexander edited this page Apr 1, 2014 · 2 revisions

Для генерации тестовых данных юзается питонячий скрипт, который использует блендер в качестве модуля, однако, чтобы сделать такой финт ушами, нужно сначала собрать его в таком виде. Эта небольшая инструкция расскажет, как это сделать. Инструкция актуальна для MacOS X 10.9.1, на других платформах могут быть нюансы.

Для начала надо создать отдельную директорию (на линуксе не обязательно). Дело в том, что на винде и маке требуется отдельно рядом с репозиторием положить директорию lib, в которую скачать дополнительные библиотеки.

mkdir blender-build && cd blender-build

теперь склонируем блендер:

git clone http://git.blender.org/blender.git

На Mac OS и windows также счекаутим библиотеки.

mkdir lib && (cd lib && svn co ${url})

Где ${url} в зависимости от способа сборки:

Теперь нужно создать директорию для сборки:

mkdir build && cd build

Можно начинать конфигурировать сборку. Нас интересует опция -DWITH_PYTHON_MODULE=ON, также, есть специальный готовый конфиг для сборки в виде модуля.

cmake -DWITH_PYTHON_MODULE=ON -DWITH_PYTHON_INSTALL=OFF -G Ninja ../blender

или

cmake -C../blender/build_files/cmake/config/bpy_module.cmake -G Ninja ../blender

-G Ninja нужен для сборки с помощью ниндзи, можно указать свой генератор, если нужно, или просто оставить дефолт. На маке также потребуется указать -DWITH_LIBMV=OFF, потому что эта штука крешится при старте, --а также наложить вот такой патчик (я уже сделал пулл-реквест в блендер), иначе сборка будет падать на этапе линковки:-- Патч приняли, код в ветке master больше не требуется патчить, найти его можно на страничке с перечислением наших патчей в сторонние проекты. Отдельно стоит добавить, что можно указать -DCMAKE_INSTALL_PATH=/some/path/install/to, чтобы итоговые файлы оказались в месте, отличном от директории сборки.

make && make install

или

ninja && ninja install

ну или что там у вас :)

Теперь мы получили все необходимое и можем использовать:

export PYTHONPATH=/path/to/the/blender/build/directory/bin
python3

В открывшейся питонячей консоли пробуем загрузить модуль:

import bpy

Он должен загрузиться без ошибок, если все сделано правильно.

Clone this wiki locally