Blender 2.82 ou version ultérieure + notes sur l'environnement de développement python

Contexte

Je souhaite mettre en place un environnement de développement avec Blender + python. L'éditeur et la console intégrés de Blender sont difficiles à utiliser, je veux donc l'utiliser à partir de vscode Je souhaite développer et déboguer mon propre module complémentaire et vérifier facilement le comportement de la fonction bpy.

environnement

Informations de base

Vous ne pouvez pas «importer bpy» en touchant directement le python de Blender. Vous devez exécuter python via blender.

Ouvrez la console python à partir de la ligne de commande

How can I run blender from command line or a python script without opening a GUI? https://blender.stackexchange.com/questions/1365/how-can-i-run-blender-from-command-line-or-a-python-script-without-opening-a-gui

$ blender --background --python-console

Fera apparaître la console python.

Utilisé dans VSCode.

https://github.com/JacquesLucke/blender_vscode

https://github.com/AlansCodeLog/blender-debugger-for-vscode

Il semble que cette zone puisse être utilisée.

Contenu avancé

Je vous remercie.

Transfert de données à grande vitesse avec le module complémentaire C ++ de Blender (méthode LuxBlend) https://qiita.com/vipper36/items/3e6012c3c770ade0d412

[Blender] Automatisez les tests des modules complémentaires Blender avec GitHub et TravisCI https://qiita.com/nutti/items/fe3f3f14168155df5916

Construire Blender

Si vous voulez faire le mixeur ci-dessus en tant que module ou quelque chose de spécial, il sera rapide à construire à partir du code source.

https://wiki.blender.org/wiki/Building_Blender

Après avoir déposé le code source et le binaire prédéfini de la bibliothèque dépendante, Vous pouvez le construire simplement en faisant de base make. N'oubliez pas de faire le sous-module git. Si je ne le fais pas

file INSTALL cannot find
"/home/mdriftmeyer/DeveloperProjects/Blender-Repository/blender/release/datafiles/locale/languages".

J'obtiens une erreur autour de la locale.

https://developer.blender.org/T37760

Construire Blender lui-même ne prend pas beaucoup de temps car il existe un binaire prédéfini sur Ubuntu. Cela a pris environ 5 minutes avec Threadripper 1950X.

headless

$ make headless

Vous pouvez construire sans GUI.

Blender as module

Il existe une version qui fait de Blender lui-même un module python (libbpy.so).

https://wiki.blender.org/wiki/Building_Blender/Other/BlenderAsPyModule

Avec cela, vous pouvez «importer bpy» avec votre interpréteur python préféré, etc., donc on s'attend à ce que le développement progresse, mais Ubuntu a un grand obstacle.

prédéfini ne fonctionne pas.

La commande build elle-même est simple.

$ make bpy

(Il appelle cmake en interne, c'est donc une bonne idée de jeter un œil à ses paramètres cmake.)

Premièrement, bpy.so est lié à la bibliothèque partagée, mais les bibliothèques prédéfinies n'ont que «.a». Il semble être déplaçable, mais la bibliothèque du système dont dépend «.a» est également liée à .a. Donc, j'obtiens une erreur lors de la liaison (par exemple libpng.a), libpng.a ou gomp.a (OpenMP).

Si libpng.a est entré avec apt, il ira dans / usr / lib / .., donc une fois que vous le supprimez avec apt, liez-le avec libpng.a du côté des bibliothèques prébultées. Vous pouvez le résoudre. Cependant, libpng.a peut ne pas être effacé dans certains cas, il peut donc être sûr de construire bpy.so autour de Docker.

gomp (OpenMP) dépend de l'environnement. Si vous avez un environnement tel que CUDA, il y a de fortes chances que gomp soit installé en relation avec gcc, et libgomp.a dans / usr / lib / ... Vous obtiendrez un échec de construction en essayant de lier.

C'est difficile car si vous supprimez gomp, vous devez également supprimer le package du compilateur gcc. Après tout, il peut être bon de construire avec Docker.

De plus, si vous ne construisez pas avec WITH_MEM_JEMALLOC désactivé,

cannot allocate memory in static TLS block

J'obtiens l'erreur lors de l'importation.

https://devtalk.blender.org/t/problem-with-running-blender-as-a-python-module/7367

En regardant les paramètres de CMake, il devrait être désactivé pour le moment sous Linux, mais pour une raison quelconque, il n'est pas reflété.

Construction de bibliothèques dépendantes à partir des sources ...

$ make deps

Vous pouvez créer les bibliothèques dépendantes à partir des sources avec.

Avec bashrc etc.

alias make=`make -j8`

Si vous essayez de construire en parallèle comme tel, la compilation échouera, il peut donc être préférable de vous assurer que l'alias n'est pas défini dans make avant de faire make deps, mais dans ce cas 1 Il prend beaucoup de temps à construire car il ne repose que sur le noyau. Il peut être judicieux de construire en parallèle en prévision de plusieurs compilations.

Si vous créez la bibliothèque dépendante à partir de zéro, yasm (je l'utilise dans le système de codec vidéo si vous pensez pourquoi vous avez besoin d'un assembleur?!), Cela entre en conflit avec le boost du système et la construction de LLVM à partir de zéro est gênante.

Au moins OpenVDB n'a pas bien construit autour de boost pour une raison quelconque. Si vous n'utilisez pas VDB, pourquoi ne pas le construire pour l'instant?

Installer le module complémentaire

Même si bpy.so est créé avec succès et que l'importation ne plante pas, cette fois j'obtiens une erreur s'il n'y a pas de ʻio_xxx` etc. Celles-ci seront add_on, donc l'ajout de add_on devrait le résoudre. (Add_on related est géré par un autre dépôt git)

TODO

Recommended Posts

Blender 2.82 ou version ultérieure + notes sur l'environnement de développement python
Notes de développement de package Python
Construction de l'environnement de développement Python
À propos de l'environnement de développement Python
Construction de l'environnement de développement python2.7
Environnement de développement en Python
Python 3.4 ou version ultérieure standard pip
Un mémo pour créer un environnement de développement python avec macOS Catalina
Organiser l'environnement de développement Python
[ev3dev × Python] Construction de l'environnement de développement ev3dev
[MEMO] [Construction de l'environnement de développement] Python
[Pour organiser] Environnement de développement Python
Ruby `` comme en Python.2.6 ou version ultérieure
Configurer un environnement de développement Python sur Ubuntu
Exécutez mruby avec Python ou Blender
Préparez votre premier environnement de développement Python
[Python3] Construction de l'environnement de développement << Édition Windows >>
Options d'environnement de développement Python pour mai 2020
Construction de l'environnement de développement Python sur macOS
Mémo de configuration de l'environnement de développement Vim + Python
Paramètres Emacs pour l'environnement de développement Python
Installer l'environnement de développement Python sur Windows 10
Mémo de construction de l'environnement de développement Emacs Python
Vérification de l'environnement de développement NAOqi Python
Configurer un environnement de développement Python avec Atom
Suite ・ Notes sur la préparation de l'environnement de développement Python sur Mac OS X
Procédure de construction de l'environnement de développement Python (anaconda) (SpringToolsSuites) _2020.4
Créer un environnement pour Python intégré à Blender
Environnement de développement Python pour macOS utilisant venv 2016
Comment préparer l'environnement de développement Python [Mac]
Construction de l'environnement de développement Python3 + venv + VSCode + macOS
Pour référencer des variables d'environnement en Python dans Blender
Construire un environnement de développement Python (pythonz, virtualenv, direnv)
L'environnement de développement Python le plus puissant Recommandation de PyCharm
Créer un environnement de développement Python pour le développement de l'IA
Création d'un environnement de développement Python pour Windows + gVim + Poetry
L'environnement de développement intégré Python le plus puissant PyCharm
Mémo de raclage Python
Introduction à Python Préparons l'environnement de développement
Note d'apprentissage Python_000
paramètres d'environnement python
Créer un environnement de développement Python avec Visual Studio Code
Notes de débutant Python
environnement windows python
Python> 3.14_1592_6535_8972> PEP515 (Écriture possible depuis Python v3.6)
Note d'apprentissage Python_006
Construction d'environnement (python)
[Python] Créer un environnement de développement Django avec Docker
Extrusion Python Extrude de Blender 2.9
notes de python C ++
Créez un environnement de développement Python sur votre Mac
[Python] Préparation au développement Web (création d'un environnement virtuel)
Construction d'environnement Poetry-virtualenv avec python de centos-sclo-rh ~ Notes
construction d'environnement python
environnement de développement python -utilisation de pyenv et virtualenv-
Python - Construction de l'environnement
Note d'apprentissage Python_005
Notes de grammaire Python
Note sur la bibliothèque Python
Exécutez l'installation de pip sur MacOS Python 3.7 ou version ultérieure