[Blender] Ergänzen Sie die Python-API von Blender mit einem Texteditor

Dies ist der Artikel am 23. Tag von Blender Adventskalender 2019.

Beim Erstellen von Blender-Skripten und -Add-Ons verwenden Sie häufig einen Texteditor, um den Quellcode zu bearbeiten. Einer der Vorteile der Verwendung eines Texteditors ist die Effizienz der Entwicklung durch die Code-Vervollständigungsfunktion. Da jedoch ein Teil der von Blender bereitgestellten Python-API als Binärdaten und nicht als Python-Quellcode bereitgestellt wird, bleibt er unverändert. Code kann nicht vervollständigt werden. Um ein solches Problem zu lösen, ein Pseudomodul "fake-bpy-module", das nur den Schnittstellenteil der von Blender bereitgestellten Python-API beschreibt. Wurde entwickelt.

Mit "fake-bpy-module" können Sie Code für die Python-API von Blender mit praktisch jedem Editor vervollständigen, der über eine Code-Vervollständigungsfunktion verfügt. In diesem Artikel werde ich Ihnen zeigen, wie Sie mit "fake-bpy-module" Code in Visual Studio Code und PyCharm vervollständigen können.

Voraussetzungen

Die in diesem Artikel behandelte Blender-Version ist ** 2,80 **. Informationen zu den von "fake-bpy-module" unterstützten Versionen finden Sie unter [README] auf GitHub (https://github.com/nutti/fake-bpy-module#supported-blender-version). "Fake-bpy-module" funktioniert in jeder Umgebung von Windows / Mac / Linux, aber die Vervollständigungsfunktion kann nur verwendet werden, wenn Python ** Python 3.6 ** oder höher ist und die Type Hint-Funktion installiert ist. Bitte beachten Sie.

In Zukunft planen wir, Module für Blender 2.81 und spätere Versionen bereitzustellen.

Bereitstellungsformular für "fake-bpy-module"

"Fake-bpy-Modul" wird durch die folgenden drei Methoden bereitgestellt.

  1. PyPI-Paket
  2. Auf GitHub verfügbare Module
  3. Selbstgemachtes Modul

In diesem Artikel werden wir die spezifischen Verfahren zur Vervollständigung des Codes für jeden Artikel erläutern.

Methode 1: PyPI-Paket

1. Installieren Sie das Paket mit dem Befehl pip

Mit dem Befehl pip können Sie das in PyPI registrierte "fake-bpy-module" installieren. Führen Sie den folgenden Befehl aus, um "fake-bpy-module" zu installieren.

 $ pip install fake-bpy-module-<version>

Wobei "" die Blender-Version ist. Führen Sie den folgenden Befehl aus, um das "fake-bpy-module" für Blender 2.8 zu installieren:

 $ pip install fake-bpy-module-2.80

Wenn Sie pip verwenden können, ist es einfach und zuverlässig, "fake-bpy-module" mit pip zu installieren. Wenn Sie pip jedoch nicht verwenden können, versuchen Sie es mit einer anderen Methode.

2. Überprüfen Sie die Code-Vervollständigung im Editor

Wenn Sie das Paket mit dem Befehl pip installieren, müssen Sie nicht jeden Editor festlegen, um den Code zu vervollständigen. Hier ist ein Beispiel für die Code-Vervollständigung für Visual Studio Code und PyCharm.

Visual Studio Code

vscode_completion.png

PyCharm

pycharm_completion.png

Methode 2: Auf GitHub veröffentlichte Module

1. Laden Sie das Modul von GitHub herunter

"Fake-bpy-module" ist auf GitHub veröffentlicht. Die Datei, in der die Module zusammengefasst sind, wird als "fake_bpy_modules_ - .zip" veröffentlicht. Laden Sie daher die erforderlichen Module entsprechend der Umgebung herunter. Hier lautet Modul für Blender 2.80, erstellt am 8. Oktober 2019 fake_bpy_modules_2.80-20191008. Laden Sie zip herunter. Entpacken Sie die Datei nach Abschluss des Downloads.

2. Teilen Sie dem Editor den Pfad des Moduls mit

Teilen Sie dem Editor den Pfad des Moduls mit, damit Sie den Code vervollständigen können. Die Methode zum Ermitteln des Pfads des Moduls hängt vom Editor ab.

Visual Studio Code

Gehen Sie folgendermaßen vor, um Ihren Code mit Visual Studio Code zu vervollständigen:

  1. Laden Sie die Python Visual Studio-Codeerweiterung herunter (https://marketplace.visualstudio.com/items?itemName=ms-python.python).
  2. Klicken Sie auf * [Datei] *> * [Einstellungen] *> * [Einstellungen] *
  3. Wenn settings.json geöffnet wird, setzen Sie den Modulpfad auf python.autoComplete.extraPaths
{
    "python.autoComplete.extraPaths": [
        "<path-to-generated-modules>"
    ]
}

Geben Sie für den absoluten Pfad des Moduls an.

PyCharm

Gehen Sie folgendermaßen vor, um Ihren Code mit PyCharm zu vervollständigen:

  1. Klicken Sie unter Windows auf * [Datei] *> * [Einstellungen] *, um das Fenster * [Einstellungen] * zu öffnen, und klicken Sie unter macOS auf * [Pycharm-Menü] *> * [Einstellungen] *, um auf * zu klicken Öffnet das Fenster Einstellungen *
  2. Wählen Sie * [Projekt:] *> * [Projektinterpreter] *
  3. Klicken Sie auf das Zahnradsymbol rechts neben * [Projektinterpreter:] *
  4. Klicken Sie im angezeigten Popup-Menü auf * [Alle anzeigen ...] *.
  5. Klicken Sie im Fenster * [Projektinterpreter] * auf das Symbol * [Pfade für den ausgewählten Interpreter anzeigen] *, um das Fenster * [Interpreterpfade] * anzuzeigen.
  6. Klicken Sie auf das Symbol * [+] *, um den Dateibrowser zu starten
  7. Geben Sie das Verzeichnis an, in dem sich das Modul befindet, und klicken Sie auf * [OK] *
  8. Klicken Sie mehrmals auf * [OK] *, bis das Fenster * [Einstellungen] * für Windows oder das Fenster * [Einstellungen] * für MacOS geschlossen wird.

3. Überprüfen Sie die Code-Vervollständigung im Editor

Sie können den Code in jedem Editor so vervollständigen, als hätten Sie das Modul mit Methode 1 installiert.

Methode 3: Erstellen Sie Ihr eigenes Modul

1. Laden Sie die Blender-Binärdatei herunter

Laden Sie die Ziel-Blender-Binärdatei von der offiziellen Blender-Download-Site (https://download.blender.org/release/) herunter. Die Blender 2.80-Binärdatei ist unter https://download.blender.org/release/Blender2.80/ verfügbar.

2. Klonen Sie den Blender-Quellcode

Führen Sie den folgenden Befehl aus, um den Blender-Quellcode herunterzuladen.

$ git clone git://git.blender.org/blender.git

3. Klonen Sie das Fake-Bpy-Modul-Projekt auf GitHub

Führen Sie den folgenden Befehl aus, um das auf GitHub veröffentlichte Fake-Bpy-Modul-Projekt zu klonen.

$ git clone https://github.com/nutti/fake-bpy-module.git

4. Generiere "fake-bpy-module"

Führen Sie den folgenden Befehl aus, um "fake-bpy-module" zu generieren.

$ cd fake-bpy-module/src
$ sh gen_module.sh <source-dir> <blender-dir> <branch/tag/commit> <output-dir> <mod-version>

Wenn Sie den Befehl kontinuierlich von 2 ausgeführt haben, führen Sie den Befehl wie folgt aus.

$ cd fake-bpy-module/src
$ sh gen_module.sh ../../blender <Das Verzeichnis, in dem sich die in 1 heruntergeladenen Blender-Binärdateien befinden> v2.80 out 2.80

5. Teilen Sie dem Editor den Pfad des Moduls mit

Teilen Sie dem Editor den Pfad des Moduls gemäß Methode 2 mit.

6. Überprüfen Sie die Code-Vervollständigung im Editor

Ähnlich wie bei Methode 1 und Methode 2 können Sie den Code in jedem Editor vervollständigen.

Zusammenfassung

Ich habe Ihnen gezeigt, wie Sie mit "fake-bpy-module" die Python-API von Blender für Visual Studio Code und PyCharm vervollständigen können. Durch die Verwendung der Code-Vervollständigung können Sie die Effizienz der Blender-Skript- und Add-On-Entwicklung verbessern. Nutzen Sie diese also. Obwohl in diesem Artikel nicht vorgestellt, können Sie auf der GitHub-Projektseite Dokument herausfinden, wie Sie den Code in allen Editoren, nicht nur in Visual Studio Code und PyCharm, vervollständigen können, auch wenn Sie das PyPI-Paket nicht verwenden. //github.com/nutti/fake-bpy-module/blob/master/docs/setup_all_text_editor.md) ist öffentlich zugänglich. Bitte beachten Sie auch dies.

Da "fake-bpy-module" als OSS veröffentlicht ist, Bug Report und [Pull Request](https: //) Beiträge wie github.com/nutti/fake-bpy-module/pulls) sind willkommen! Lassen Sie uns ein lustiges Blender-Add-On-Entwicklungsleben haben!

Recommended Posts

[Blender] Ergänzen Sie die Python-API von Blender mit einem Texteditor
Textextraktion mit GCP Cloud Vision API (Python3.6)
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Führen Sie Blender mit Python aus
Betreiben Sie Blender mit Python
Spielen mit der benutzerlokalen API für künstliche Intelligenz in Python
Registrieren Sie Tickets mit der Redmine-API mithilfe von Python-Anforderungen
Richten Sie mit Sublime Text 2 eine Python-Entwicklungsumgebung ein
[Vagrant] Richten Sie einen einfachen API-Server mit Python ein
Textextraktion (Lese-API) mit Azure Computer Vision-API (Python3.6)
Verwenden Sie die Twitter-API mit Python
Web-API mit Python + Falcon
Machen Sie eine Lotterie mit Python
Ich habe einen Python-Text gemacht
Blender Python API in Houdini (Python 3)
Rufen Sie die API mit python3 auf.
Verwenden Sie die Unterschall-API mit Python3
Erstellen Sie ein Verzeichnis mit Python
Ein Hinweis zum Aufrufen der Facebook-API mit dem Python SDK
Nehmen Sie schnell eine Abfragezeichenfolge mit API Gateway-> Lambda (Python)
Vervollständigung von Python mit Emacs mit Company-Jedi
[Python] Was ist eine with-Anweisung?
Löse ABC163 A ~ C mit Python
Bedienen Sie den Belegdrucker mit Python
Python-Grafikhandbuch mit Matplotlib.
Erstellen Sie Awaitable mit der Python / C-API
Rubyist hat versucht, eine einfache API mit Python + Flasche + MySQL zu erstellen
GOTO in Python mit erhabenem Text 3
Holen Sie sich Bewertungen mit Python Googlemap API
Eine Geschichte über das Hinzufügen einer REST-API zu einem mit Python erstellten Daemon
Führen Sie Rotrics DexArm mit der Python-API aus
Textextraktion mit AWS Textract (Python3.6)
Löse ABC166 A ~ D mit Python
Führen Sie mruby mit Python oder Blender aus
Quine Post mit Qiita API (Python)
Erstellen Sie eine virtuelle Umgebung mit Python!
Ich habe mit Python eine Lotterie gemacht.
Text Mining mit Python ① Morphologische Analyse
Aktivieren Sie Python raw_input mit Sublime Text 3
Ich möchte den vollständigen Text mit elasticsearch + python durchsuchen
Erstellen einer virtuellen Umgebung mit Python 3
Klicken Sie mit Python auf die Etherpad-Lite-API
Löse ABC168 A ~ C mit Python
Erstellen Sie ein Empfehlungssystem mit Python
Verwenden Sie Blender als Python-Modul
[LINE Messaging API] Erstellen Sie einen BOT, der eine Verbindung zu jemandem mit Python herstellt
[Python] Generiere ein Passwort mit Slackbot
Löse ABC162 A ~ C mit Python
Löse ABC167 A ~ C mit Python
Sprechen Sie japanischen Text mit OpenJTalk + Python
Löse ABC158 A ~ C mit Python
Lassen Sie uns ein Diagramm mit Python erstellen! !!
[Python] Erbt eine Klasse mit Klassenvariablen
Ich habe mit Python einen Daemon erstellt
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
Beginnen Sie mit Python mit Blender
Schreiben Sie ein Batch-Skript mit Python3.5 ~