Kodi Addon Entwicklungsumgebung - Remote Debug mit …



Kodi Addon Entwicklungsumgebung - Remote Debug mit PyCharm

======================== 25.02.2021 ===========================

Downloads:

Python aktuelle Version 2.7.x





PyCharm Professional Edition !!!!

Wenn du eine Lizenz hast dann download der dazu passende Version!



ansonst (build 173.4127.16):



und dazu den „License server“:



Aktuelle Kodi Version



Folgendes nur dann wenn Dateien nicht vorhanden sind!

- script.module.pydevd.zip

Download vom Kodi PyCharm Debugger Script Modul



Die ZIP auspacken und das Verzeichnis „script.module.pydevd-master“

umbenennen nach „script.module.pydevd“ und speichern!

Alles im Verzeichnis ‚lib’ löschen.

- pycharm-debug.egg

Debugger Modul für PyCharm

Nach der Installation von Pycharm unter

„C:\Program Files\JetBrains\PyCharm 2017.3.2\debug-eggs\“

die Datei „pycharm-debug.egg“ sichern.

Kopiert die „pycharm-debug.egg“ an einen permanent zur Verfügung stehenden Ort.

Möchte man unter Python 3 debuggen dann die Datei „pycharm-debug-py3k.egg“ nehmen.

- Beispiel Projekt plugin.video.rdb_test



Kodi Installation und Anpassung

- Kodi installieren aber nicht starten

Arbeitsverzeichnis auf Festplatte (z.B. E:) anlegen

------------------------------------------------------------

alles folgende in der Konsole (cmd) eingeben

(eventuell vorher noch Pfad für das neue Entwicklerverzeichnis anpassen!!!)

Kodi19 (py3) 64bit

set LW=E:\__DEV3

mkdir %LW%\devkodi

mklink /J "c:\Program Files\Kodi19\portable_data" %LW%\devkodi

Shortcut.exe /f:"%USERPROFILE%\Desktop\Kodi-DEV-3.lnk" /a:c /t:^%ProgramFiles^%\Kodi19\kodi.exe /P:-p

Kodi18 (py2) 64bit

set LW=E:\__DEV2

mkdir %LW%\devkodi

mklink /J "c:\Program Files\Kodi18\portable_data" %LW%\devkodi

Shortcut.exe /f:"%USERPROFILE%\Desktop\Kodi-DEV-2.lnk" /a:c /t:^%ProgramFiles^%\Kodi18\kodi.exe /P:-p

:: --- Variante 32-bit ---

mklink /J "C:\Program Files (x86)\Kodi\portable_data" %LW%\devkodi

Shortcut.exe /f:"%USERPROFILE%\Desktop\Kodi-DEV-2.lnk" /a:c /t:^% ProgramFiles(x86)^%\Kodi\kodi.exe /P:-p

Auf dem Desktop ein Shortcut für die kodi.exe erstellen und den Parameter "-p" hinzufügen!

Alternativ mit Shortcut.exe :



- Kodi über den neuen Desktop Link starten

- Einrichten, Sprache einstellen usw.

- script.module.pydevd.zip installieren (wird auf den nächsten Seiten beschrieben wie man zu der Datei kommt)

- keine weiteren Addons installieren, Kodi beenden.

Das aktuelle Verzeichnis E:\__DEV \devkodi nach E:\__DEV \devkodi.first kopieren.

Ein Verzeichnis E:\__DEV \devkodi.first\ ist als Vorlage gedacht, wenn man zu einem späteren Zeitpunkt wieder mit einer neuen, leeren Kodiversion ein anderes Projekt anlegen/bearbeiten möchte. In dem Fall wird z.B. das Verzeichnis E:\__DEV \devkodi umbenannt nach E:\__DEV \devkodi.p1 (p1 steht hier für Projekt1)

und das Verzeichnis E:\__DEV \devkodi.first wird kopiert nach E:\__DEV \devkodi

Somit hat man wieder den Zustand von Kodi wie zu Beginn und man muss Kodi nicht neu installieren!!!!!!

Warum diese Aufwand? - weil es bequem ist, man kann jederzeit den Symlink auf einen anderen "Bestand/Sicherung/ect." von Kodi umlenken ohne neue Installation.

Python Installation

- Addon Entwicklung für Kodi 18.x -> Python 2.7.x nach c:\Python27 installieren

- Addon Entwicklung für Kodi 19.x -> Python 3.8.x nach c:\Python38 installieren

Folgendes nur wenn es nur eine Phyton Version z.B. 2.7 auf dem PC geben soll!!

Konsole (cmd) starten und den folgenden Befehl ausführen: set

In Path sollte C:\Python27\Scripts\;C:\Python27\ vorhanden sein

sollte auch gesetzt sein: PYTHONPATH=c:\Python27

(Computer / Eigenschaften / Systemeigenschaften / Umgebungsvariablen)

------------------------------------

Nach der Installation von PyCharm folgenden Befehle in der Konsole ausführen:

Zuerst für Python 3.8:

c:\Python38\python -m pip install --upgrade pip

c:\Python38\python -m pip install kodistubs

für Python 2.7:

c:\Python27\python -m pip install --upgrade pip

c:\Python27\python -m pip install kodistubs

Virtual Environment für Kodi Addonentwicklung erzeugen

(kann dann mal für alle Addons benutzt werden)

Folgende in der Konsole (cmd) eingeben

eventuell vorher noch Pfad für das Verzeichnis anpassen!!! (e:\__DEV2\virtualenvs)

e:

mkdir e:\__DEV2\virtualenvs

Virtual Environment erstellen:

Besser ist es diese direkt in PyCharm zu erstellen!!

Dann braucht man die folgende Befehle nicht mehr machen.

cd e:\__DEV2\virtualenvs

für Python 2.7:

c:\Python27\python -m pip install --upgrade pip

c:\Python27\python -m pip install --user virtualenv

c:\Python27\python -m virtualenv --help

c:\Python27\python -m virtualenv kodi18

cd kodi18

Scripts\activate

## neuer Prompt „(kodi) e:\virtualenvs\kodi>“ - man ist in der Virtual Environment

pip install kodistubs

Scripts\deactivate

## damit hat man die Virtual Environment wieder verlassen!

für Python 3.8 (Win7):

c:\Python38\python -m pip install --upgrade pip

c:\Python38\python -m pip install --user virtualenv

c:\Python38\python -m virtualenv --help

c:\Python38\python -m virtualenv kodi19

cd kodi19

Scripts\activate

pip install kodistubs

Scripts\deactivate

!! Hinweis !!

Zur weiteren Demonstration in Kodi das Addon plugin.video.rdb_test.zip installieren

kann man - muss aber nicht - aber gut zur Veranschaulichung!

script.module.pydevd erstellen und anpassen

- Zwei Arbeitsverzeichnisse erstellen. Eins für Kodi18 (Py2) und eins für Kodi19 (py3)

- Jeweils in beide Verzeichnisse das Verzeichnis „script.module.pydevd“ (mit dem leeren Verzeichnis ‚lib’ kopieren.

- Die Dateie „pycharm-debug.egg“ z.B mit dem Programm 7-zip entpacken und den Inhalt in das Verzeichnis ‚lib’ unter dem Arbeitsverzeichnis für Kodi 18 kopieren.

- Das gleiche mit der Datei „pycharm-debug-py3k.egg“ machen, aber für das Arbeitsverzeichnis Kodi 19

- Die Verzeichnisse, die mit ‚test’ im Namen anfangen kann man gleich löschen.

Diese Dateien und Verzeichnisse müssen im Verzeichnis ‚lib’verbleiben:

[pic]

Im jeweiligen Arbeitsverzeichnis die Addon.xml anpasse – Beispiel Kodi 19 (Py3):

[pic]

Addon.xml anpasse – Beispiel Kodi 18 (Py2):

[pic]

In den Arbeitsverzeichnissen das Verzeichnis „script.module.pydevd“ als ZIP packen und diese Zip Dateien zur besseren Unterscheidung umbenennen.

z.B. in script.module.pydevd-py2.zip und script.module.pydevd-py3.zip

Installation PyCharm (Bilder)

Es wird eine Lizenz benötigt passend zu der zu installierenden Version! (Anmeldedaten oder KEY oder Lizenzserver)

Wenn ein passender Lizenzserver vorhanden ist

(für z.B. Windows 64bit "dvt-jb_licsrv.amd64.exe")

– für PyCharm 2.7.3 ist diese in der Datei „dvt-license_server.zip“) dann:

in der Administrator Konsole (cmd als Administrator ausführen)

mkdir "%ProgramFiles%\JetBrains\dvt-license_server"

copy dvt-jb_licsrv.amd64.exe "%ProgramFiles%\JetBrains\dvt-license_server"

"%ProgramFiles%\JetBrains\dvt-license_server\dvt-jb_licsrv.amd64.exe" -mode install

net start JetBrainsLicServerDVT

Damit ist der Lizenzserver für PyCharm unter " " erreichbar!

Nun PyCharm installieren und je nach vorhandener Lizenz aktivieren! (bild 01 bis 10)

[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

Grundeinstellungen vornehmen,

[pic]

[pic]

Lizenz aktivieren:

[pic]

oder mit Lizenzserver

[pic]

Anschließend auf "Open" und den Path in Kodi vom (demo) "Addon plugin.video.rdb_test" öffnen (e:\devkodi\addons\plugin.video.rdb_test) .Bild 11 /12

[pic]

[pic]

Virtual Environment in PyCharm einrichten - Interpreter auswählen (Bilder)

Dafür ist das oben beschriebene (schon angelegte) Verzeichnis " e:\virtualenvs“ vorgesehen. So kann man für alle Kodi Addon Projekte die gleiche Virtual Environment nutzen, und dies unabhängig vom Path zum Addon.

menue File / settings / Project: / Projekt Interpreter show All / + (bild 13 /14)

[pic]

Hier kann auch ‚New environment’ ausgewählt werden!

[pic]

In PyCharm die RemoteDebug Konfiguration erstellen: Bild 20

[pic]

'10.128.5.164' Beispiel IP vom entfernten Host oder "localhost" bei debug wenn Kodi und PyCharm auf dem gleichen PC sind.

Port ist frei wählbar - am besten über 10000

In die „addon.xml“ wird unter „“ noch folgender Eintrag ergänzt:

[pic]

Kodi neu starten und es kann losgehen.

In PyCharm RemoteDebug starten ( Bild 21) - danach in Kodi das Demo Addon starten!

[pic]

In zukünftigen Projekten müssen dann nur noch die folgenden Zeilen an der Stelle im Source eingefügt werden, ab der ein Debug erfolgen soll.

--------------------------------------------

import pydevd

pydevd.settrace('10.128.5.164', port=12345, stdoutToServer=True, stderrToServer=True) ### '10.128.5.164' ip vom entfernten Host oder bei local Debug 'localhost'

------------------------------------------------

Viel Spaß beim Ausprobieren!

Mapping Beispiel:

E:/__DEV/devkodi-Fire/addons/plugin.video.lastship.os

/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.lastship.os

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download