Wie kann ich den Zugriff BPY in standard-python-Konsole? BPY ist der Blender-python -Sache
Autor hier in Punkt 17.20-17.50 erwähnt, dass Sie zugreifen können, BPY mit dem standard-Python-interpreter in die Zukunft. Es ist schon 1 Jahr alt also wie kann ich den Zugriff auf die BPY mit dem standard-python-Konsole?
Trial 0: roundaround -Lösung funktioniert nicht mit Teilprozess innerhalb Blender
subprocess.call(['vim', 'test.py']) # some editing of BPY -file with Vim (not working currently) subprocess.call(['python', 'test.py']) # trying to execute the python -file (not working currently)
Studie 1: nicht außerhalb der Arbeitszeit Blender
$ cat cubes.py import bpy mylayers = [False]*20 mylayers[0] = True add_cube = bpy.ops.mesh.primitive_cube_add for index in range(0, 5): add_cube(location=(index*3, 0, 0), layers=mylayers) $ python cubes.py Traceback (most recent call last): File "cubes.py", line 1, in <module> import bpy ImportError: No module named bpy
- Was hat die erste mit der zweiten? Sie versuchen, zu Bearbeiten
test.py
mit vim aus einem Teilprozess call und die, die es nicht? - Ja. und die, die nicht arbeiten
- ...ähnlich wie newbie q here über die Verwendung von Blender-python, es zu tun versuchen, eine animierte Kugel.
- UPDATE gibt Es jetzt mindestens zwei verschiedene Ansätze: verwenden Sie BPY außerhalb Blender (experimentelle Eigenschaft) und Sie mit python-innen Blender (keine Lösung Kandidat für diese noch).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Basierend auf diese Anweisungen:
Erhalten den blender source code:
Kümmern sich um die Abhängigkeiten, siehe z.B. hier wenn nötig* und kompilieren über die
bpy
Ziel:(re)ausgeführt, die letztere als root, wenn Fehler wie
file INSTALL cannot set permissions on [...]
auftretenIhre python 3 sollten jetzt in der Lage
import bpy
.* Für Debian-ish-Systeme
"Could NOT find PythonLibsUnix (missing: PYTHON_LIBRARY PYTHON_INCLUDE_DIR)"
. Chat -Diskussion hier. Trotzdem +1 für vielleicht gute Lösung, Kandidat, alert-experimentell!python-devel
. Auch stellen Sie sicher, dass Sie mit Python >= 3.2apt-get
fehltpython3.2-dev
installieren, benötigen Sie das auch (es ist nicht die Abhängigkeit von Python selbst)python3.2-dev
installiert?In diesem Fall noch relevant ist, können Sie ein Skript ausführen, die im Kontext von blender (der
-b
macht es kopflos, so dass Sie können führen Sie auf eine render-server ohne X11):Weitere Optionen siehe
blender --help
.Wenn Sie eine Verbindung herstellen möchten Mixer zu einer IPython console, so können Sie interagieren mit blender via python kann das Skript, das ich schrieb: https://github.com/panzi/blender_ipython
Starten Sie ein notebook:
Start einer Qt-Konsole:
Ich mit eclipse entwickeln in blender. Ich fand ein guter Ausgangspunkt zu sein
http://airplanes3d.net/pydev-000_e.xml
Dieser Artikel erklärt, wie Sie zu bauen blender als python-Modul.
http://wiki.blender.org/index.php/User%3aIdeasman42/BlenderAsPyModule
Es scheint nicht, dass diese Technik eine Verbindung ein, die außerhalb python-session zu einem regulären Mixer verarbeiten, aber lieber laufen, blender innerhalb der python-Prozess.
In der video-link, den Sie gepostet während dieser Zeit segment, es gibt keine Erwähnung der Laufenden stand-alone-Mixer python-Skript unter Verwendung der standard-python-interpreter. Was Sie sehen, im video wird Ihnen das hochziehen der interaktiven Konsole für den interpreter gebaut in Blender.
Blender erfordert seine eigenen gebündelt python-Umgebung, und wenn Sie im Begriff waren, zu versuchen, ein Skript ausführen, mit einem standard-python-interpreter, müssten Sie die Umgebung einrichten, um alle Pakete aus der blender-Paket. Obwohl es scheint, seine wahrscheinlich auch nicht möglich, wie ich denke, Blender ist python geändert wird.
Die ausführbare blender scheint, ermöglichen es Ihnen, ein python-script über:
/path/to/blender -P cubes.py
Können Sie auch starten Sie eine interaktive Konsole von einer bash-shell über:
/path/to/blender --python-console
/path/to/blender --python-console
(einige history-Datei mit einigen einfachen Beispiel wäre hilfreich), ich bekomme nur eine graue Fläche und ich kann sehen, dass die Befehle funktionieren und ich kann den import bpy, aber ich kann nichts sehen --- und ich kann sehen, dass es deutlich verändert,exit()
funktioniert nicht...Ich bin neu in der Programmierung aber ich fand eine einfache Lösung, ich habe den Befehl Linie für Terminals mit dem Betriebssystem os. Mein Programm sah so etwas wie dieses.
(das ist, wo mein Mixer ist)
und dann habe ich den terminal-Befehl der gleichen Weise, die ich verwendet cd.
https://docs.blender.org/manual/en/dev/render/workflows/command_line.html
Jemand erstellt ein stub-API-generator. Er auch Gastgeber der generierten bpy auf Github für Blender Version 2.78, 2.79, 2.80. Es sollte genug sein, für Sie zu schreiben, die code in der IDE, z.B. PyCharm. Ich entdeckte einige syntax-Fehler im generierten code. Sie haben, um Sie zu beheben. Es ist ein Dokument, zu.
https://github.com/nutti/fake-bpy-module/tree/master/premade_modules/2.79
Hier ist eine Website für die installation instruction Nutti wenn der doc ist etwas kurz.
https://b3d.interplanety.org/en/using-external-ide-pycharm-for-writing-blender-scripts/
Führen Sie den code müsstest du Blender ist Python wie schon von anderen Antworten.
Sorry, über den link nur die Antwort.