XPPython3
XPPython3 ist eine Python-3-Scripting-Engine für X-Plane 12, die das komplette X-Plane SDK in Python verfügbar macht und so Python-Plugins neben nativen C/C++-Plugins ausführt.
Hintergrund
- Entwickler: Peter Buckner (AvnWx.com), initialer Python-3-Port von Michal (uglyDwarf)
- Dokumentation: xppython3.readthedocs.io
- Repository: github.com/uglyDwarf/x-plane_plugins (GPL)
- Plattformen: Windows, macOS, Linux (native Binaries)
- Kompatibilität: X-Plane 12 (v4.x); X-Plane 11 (Legacy v3.1.5)
XPPython3 ist der Nachfolger von Sandy Barbours PythonInterface (nur Python 2). Die aktuelle v4.x-Linie bündelt Python 3.12 intern — keine systemweite Python-Installation nötig. Ein umfassender C-zu-C++-Rewrite in v4.6 brachte rund 20 % Leistungsverbesserung.
Funktionsumfang
- Volle SDK-Abdeckung: Alle X-Plane-SDK-Module aus Python zugänglich (Datarefs, Commands, Display, Menüs, Kamera, Navigation, Szenerie, Sound, Wetter)
- Dear ImGui-Integration: Moderne UI-Fenster über das
xp_imgui-Modul - Integriertes pip: Python-Pakete (numpy, Pillow, requests) direkt aus X-Plane installieren
- Plugin-Typen: Globale, flugzeug- und szenerie-spezifische Python-Plugins
- Hot Reload: Alle Python-Plugins neu laden, ohne X-Plane neu zu starten
- Integrierter Updater: Prüft über das Plugins-Menü auf neue XPPython3-Versionen
- Kompilierte Plugins: Unterstützung für
.pyc- und verschlüsselte.xpyce-Dateien für kommerzielle Verbreitung
Mehrwert in der Flugsimulation
XPPython3 öffnet das X-Plane SDK für das Python-Ökosystem — Entwickler können Standard-Python-Bibliotheken, pip-Pakete und vertraute Debugging-Werkzeuge einsetzen. Plugins wie Follow the Greens und XP-NOAA-Weather setzen es voraus. Das Plugin-Ökosystem ist kleiner als das Lua-basierte von FlyWithLua, aber XPPython3 bedient Entwickler, die Python bevorzugen, und Projekte, die von Pythons Bibliotheks-Ökosystem profitieren.
Installation
Download: xppython3.readthedocs.io — xp3-linux.zip (Stable) oder xp3-linuxb.zip (Beta) herunterladen.
Die ZIP-Datei nach Resources/plugins/ entpacken. Es entsteht folgende Verzeichnisstruktur:
Beim ersten Start legt das Plugin automatisch Resources/plugins/PythonPlugins/ an, in dem Python-Plugins von Drittanbietern abgelegt werden.
Abhängigkeiten auf Debian/Ubuntu
Die Pakete zlib1g und libc6 gehören zur Standard-Installation. Unter Arch Linux muss libbsd separat installiert werden (pacman -S libbsd).
Plugin lädt nicht
Wenn XPPython3 nicht im Plugins-Menü erscheint und keine Ausgabe in Log.txt erzeugt, ist eine fehlende Shared Library die häufigste Ursache. Diagnose mit:
Jede Zeile mit not found zeigt eine fehlende Abhängigkeit an.