Blender 2.82 oder höher + Hinweise zur Python-Entwicklungsumgebung

Hintergrund

Ich möchte eine Entwicklungsumgebung mit Blender + Python einrichten. Der integrierte Editor und die Konsole von Blender sind schwierig zu verwenden, daher möchte ich sie über vscode verwenden Ich möchte mein eigenes Add-On entwickeln und debuggen und das Verhalten der bpy-Funktion einfach überprüfen.

Umgebung

Grundinformation

Sie können bpy nicht importieren, indem Sie direkt auf die Python des Mixers klicken. Sie müssen Python über einen Mixer ausführen.

Öffnen Sie die Python-Konsole über die Befehlszeile

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

Ruft die Python-Konsole auf.

Wird in VSCode verwendet.

https://github.com/JacquesLucke/blender_vscode

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

Es scheint, dass dieser Bereich genutzt werden kann.

Erweiterte Inhalte

Vielen Dank.

Hochgeschwindigkeitsdatenübertragung mit dem C ++ - Add-On von Blender (LuxBlend-Methode) https://qiita.com/vipper36/items/3e6012c3c770ade0d412

[Blender] Automatisieren Sie Blender-Add-On-Tests mit GitHub und TravisCI https://qiita.com/nutti/items/fe3f3f14168155df5916

Mixer bauen

Wenn Sie den obigen Mixer als Modul oder etwas Besonderes verwenden möchten, können Sie ihn schnell aus dem Quellcode erstellen.

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

Nach dem Löschen des Quellcodes und der vorgefertigten Binärdatei der abhängigen Bibliothek Sie können es einfach erstellen, indem Sie Basic Make ausführen. Vergiss nicht, das Git-Submodul zu machen. Wenn ich nicht

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

Ich erhalte eine Fehlermeldung im Gebietsschema.

https://developer.blender.org/T37760

Das Erstellen von Blender selbst nimmt nicht viel Zeit in Anspruch, da es unter Ubuntu eine vorgefertigte Binärdatei gibt. Mit Threadripper 1950X dauerte es ungefähr 5 Minuten.

headless

$ make headless

Sie können ohne GUI erstellen.

Blender as module

Es gibt einen Build, der Blender selbst zu einem Python-Modul macht (libbpy.so).

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

Auf diese Weise können Sie bpy mit Ihrem bevorzugten Python-Interpreter usw. importieren. Es wird also erwartet, dass die Entwicklung voranschreitet, aber Ubuntu hat eine hohe Hürde.

vorgefertigt funktioniert nicht.

Der Build-Befehl selbst ist einfach.

$ make bpy

(Es ruft intern cmake auf, daher ist es eine gute Idee, sich die cmake-Einstellungen anzusehen.)

Erstens ist bpy.so mit der gemeinsam genutzten Bibliothek verknüpft, aber vorgefertigte Bibliotheken haben nur ".a". Es scheint verschiebbar zu sein, aber die Bibliothek des Systems, von dem ".a" abhängt, ist auch mit .a verknüpft. Daher wird beim Verknüpfen (z. B. libpng.a), libpng.a oder gomp.a (OpenMP) eine Fehlermeldung angezeigt.

Wenn libpng.a mit apt eingegeben wird, geht es zu / usr / lib / ... Wenn Sie es also mit apt löschen, verknüpfen Sie es mit libpng.a auf der prebult libs-Seite. Sie können es lösen. In einigen Fällen wird libpng.a jedoch möglicherweise nicht gelöscht, sodass es sicher ist, "bpy.so" um Docker herum zu erstellen.

gomp (OpenMP) hängt von der Umgebung ab. Wenn Sie eine Umgebung wie CUDA haben, besteht eine hohe Wahrscheinlichkeit, dass gomp in Bezug auf gcc und libgomp.a in / usr / lib / ... installiert wird Beim Versuch, eine Verknüpfung herzustellen, wird ein Build fehlgeschlagen.

Dies ist schwierig, da Sie beim Entfernen von gomp auch das gcc-Compilerpaket entfernen müssen. Schließlich kann es gut sein, mit Docker zu bauen.

Wenn Sie nicht mit deaktiviertem WITH_MEM_JEMALLOC erstellen,

cannot allocate memory in static TLS block

Ich erhalte den Fehler beim Importieren.

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

Wenn Sie sich die CMake-Einstellungen ansehen, sollte sie vorerst unter Linux deaktiviert sein, aber aus irgendeinem Grund wird sie nicht wiedergegeben.

Aufbau abhängiger Bibliotheken aus der Quelle ...

$ make deps

Sie können die abhängigen Bibliotheken aus dem Quellcode mit erstellen.

Mit bashrc etc.

alias make=`make -j8`

Wenn Sie versuchen, als solches parallel zu erstellen, schlägt die Kompilierung fehl. Stellen Sie daher möglicherweise besser sicher, dass der Alias nicht in make festgelegt ist, bevor Sie "make deps" ausführen, sondern in diesem Fall 1 Das Erstellen dauert lange, da es nur auf dem Kern aufbaut. Es kann eine gute Idee sein, in Erwartung mehrerer Kompilierungen parallel zu erstellen.

Wenn Sie die abhängige Bibliothek von Grund auf neu erstellen, yasm (ich verwende sie im Video-Codec-System, wenn Sie denken, warum Sie einen Assembler benötigen ?!), Widerspricht dies dem System-Boost, und das Erstellen von LLVM von Grund auf ist problematisch.

Zumindest hat OpenVDB aus irgendeinem Grund nicht gut um Boost herum gebaut. Wenn Sie VDB nicht verwenden, warum bauen Sie es nicht erst einmal aus?

Add-On installieren

Selbst wenn bpy.so erfolgreich erstellt wurde und der Import nicht abstürzt, wird diesmal eine Fehlermeldung angezeigt, wenn kein io_xxx usw. vorhanden ist. Diese werden add_on sein, daher sollte das Hinzufügen von add_on das Problem lösen. (Add_on wird von einem anderen Git-Repo verwaltet)

TODO

Recommended Posts

Blender 2.82 oder höher + Hinweise zur Python-Entwicklungsumgebung
Hinweise zur Entwicklung von Python-Paketen
Aufbau einer Python-Entwicklungsumgebung
Informationen zur Python-Entwicklungsumgebung
python2.7 Konstruktion der Entwicklungsumgebung
Entwicklungsumgebung in Python
Python 3.4 oder höher Standard Pip
Memo zum Erstellen einer Python-Entwicklungsumgebung mit macOS Catalina
Organisieren Sie die Python-Entwicklungsumgebung
[ev3dev × Python] Aufbau einer ev3dev-Entwicklungsumgebung
[MEMO] [Entwicklung der Entwicklungsumgebung] Python
[Zum Organisieren] Python-Entwicklungsumgebung
Rubys `` wie in Python. 2.6 oder höher
Richten Sie eine Python-Entwicklungsumgebung unter Ubuntu ein
Führen Sie mruby mit Python oder Blender aus
Bereiten Sie Ihre erste Python-Entwicklungsumgebung vor
[Python3] Aufbau der Entwicklungsumgebung << Windows Edition >>
Optionen für die Python-Entwicklungsumgebung für Mai 2020
Aufbau einer Python-Entwicklungsumgebung unter macOS
Memo zum Einstellen der Vim + Python-Entwicklungsumgebung
Emacs-Einstellungen für die Python-Entwicklungsumgebung
Installieren Sie die Python-Entwicklungsumgebung unter Windows 10
Konstruktionsnotiz für die Emacs Python-Entwicklungsumgebung
Überprüfen der NAOqi Python-Entwicklungsumgebung
Richten Sie mit Atom eine Python-Entwicklungsumgebung ein
Fortsetzung ・ Hinweise zur Vorbereitung der Python-Entwicklungsumgebung unter Mac OS X.
Konstruktionsverfahren für die Python (Anaconda) -Entwicklungsumgebung (SpringToolsSuites) _2020.4
Erstellen Sie eine Umgebung für das in Blender integrierte Python
Python-Entwicklungsumgebung für macOS mit venv 2016
So bereiten Sie die Python-Entwicklungsumgebung vor [Mac]
Aufbau der Python3 + venv + VSCode + macOS-Entwicklungsumgebung
Verweisen auf Umgebungsvariablen in Python in Blender
Erstellen Sie eine Python-Entwicklungsumgebung (pythonz, virtualenv, direnv).
Die stärkste Python-Entwicklungsumgebung PyCharms Empfehlung
Erstellen einer Python-Entwicklungsumgebung für die KI-Entwicklung
Erstellen einer Python-Entwicklungsumgebung für Windows + gVim + Poetry
Die stärkste in Python integrierte Entwicklungsumgebung PyCharm
Python-Scraping-Memo
Einführung in Python Bereiten wir die Entwicklungsumgebung vor
Python lernen note_000
Python-Umgebungseinstellungen
Erstellen Sie eine Python-Entwicklungsumgebung mit Visual Studio Code
Python-Anfängernotizen
Python Windows-Umgebung
Python> 3.14_1592_6535_8972> PEP515 (Mögliches Schreiben seit Python v3.6)
Python lernen note_006
Umgebungskonstruktion (Python)
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Blender 2.9 Python Extrude extrudieren
Python C ++ Notizen
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
[Python] Webentwicklungsvorbereitung (Erstellen einer virtuellen Umgebung)
Poetry-Virtualenv-Umgebungskonstruktion mit Centos-Sclo-Rh-Python ~ Hinweise
Python-Umgebungskonstruktion
Python-Entwicklungsumgebung - Verwendung von Pyenv und Virtualenv-
Python - Umgebungskonstruktion
Python lernen note_005
Python-Grammatiknotizen
Python Library Hinweis
Führen Sie die Pip-Installation unter MacOS Python 3.7 oder höher aus