17. Anhang

17.1. Quellcode-Download

Navigieren Sie im FAIRINO-Dokument (https://fairino-doc-de.readthedocs.io/latest/) zum Modul „Download“. Klicken Sie auf die Schaltfläche „Python SDK“ und klicken Sie auf der rechten Seite auf „FAIRINO Python SDK“. Warten Sie, bis der Download in Ihrem Browser abgeschlossen ist.

../_images/02512.png

Abbildung 16.1‑1 Python SDK Quellcode-Download

Laden Sie das Python SDK herunter und entpacken Sie es. Die Projektverzeichnisstruktur ist in der folgenden Abbildung dargestellt. Der Ordner windows enthält das Python SDK für Windows-Systeme, der Ordner linux das Python SDK für Linux-Systeme.

../_images/02613.png

Abbildung 16.1‑2 Beispiel für die Python SDK Dateistruktur

Am Beispiel des Windows-Systems: Öffnen Sie den Ordner windows. Die Verzeichnisstruktur ist unten abgebildet. Der Ordner example enthält Testbeispiele, fairino enthält den Python SDK-Quellcode und libfairino die Bibliotheksdateien.

../_images/02713.png

Abbildung 16.1‑3 Beispiel für die Python SDK Dateistruktur unter Windows

Öffnen Sie den windows-Ordner mit PyCharm. Die Projektstruktur ist unten dargestellt.

../_images/02812.png

Abbildung 16.1‑4 Beispiel für die Projektstruktur in PyCharm

17.2. Quellcode-Kompilierung

Die Generierung der Python-Dynamikbibliothek hängt vom Systemtyp und der Python-Version ab. Beispielsweise wird unter Windows eine Bibliotheksdatei mit der Endung „.pyd“ generiert, unter Linux mit der Endung „.so“. Dynamische Bibliotheken, die für verschiedene Python-Versionen generiert wurden, können nicht miteinander verwendet werden. Daher müssen vor der Generierung der dynamischen Bibliothek die Python-Version und die Zielplattform festgelegt werden. Dieses Handbuch beschreibt die Kompilierung mit Python 3.10 unter Windows 11 und Ubuntu 22.04.

17.2.1. Kompilieren des Python SDK unter Windows

Öffnen Sie zunächst die heruntergeladene Python SDK-Datei mit PyCharm und öffnen Sie die Datei setup.py.

../_images/02913.png

Abbildung 16.2‑1 Projektdatei öffnen

Klicken Sie dann unten rechts und wählen Sie den Python-Interpreter aus. Dieses Beispiel verwendet Python 3.10.

../_images/03012.png

Abbildung 16.2‑2 Python-Version auswählen

Klicken Sie mit der rechten Maustaste auf den Ordner fairino, wählen Sie „Öffnen in“ und dann „Terminal“.

../_images/03112.png

Abbildung 16.2‑3 Terminal öffnen

Geben Sie im Terminalfenster den Befehl python setup.py build_ext –inplace ein und drücken Sie die „Eingabetaste“, um die Python SDK-Dynamikbibliothek zu generieren.

../_images/03212.png

Abbildung 16.2‑4 Befehl zur Generierung der Dynamikbibliothek ausführen

Nach Abschluss der Generierung werden im Ordner fairino die Dateien Robot.c und Robot.cp310-win_amd64.pyd erstellt. Robot.c ist die in C konvertierte Version von Robot.py. Robot.cp310-win_amd64.pyd ist die Python SDK-Dynamikbibliothek, wobei „cp310“ für die Kompatibilität mit Python 3.10 und „win_amd64“ für die Windows-Plattform steht.

../_images/03313.png

Abbildung 16.2‑5 Generierung der .pyd-Dynamikbibliothek

17.2.2. Kompilieren des Python SDK unter Linux

Überprüfen Sie zunächst die Python-Version. In diesem Handbuch wird das Tool pyenv zur Verwaltung der Python-Version unter Linux verwendet. Führen Sie den Befehl pyenv versions aus, um die aktuelle Python-Version anzuzeigen.

../_images/03413.png

Abbildung 16.2‑6 Python-Version anzeigen

Wechseln Sie dann zur gewünschten Python-Version. Führen Sie für Python 3.10 den Befehl pyenv global 3.10.3 aus.

../_images/03513.png

Abbildung 16.2‑7 Python-Version auswählen

Wechseln Sie in das Verzeichnis, das sich auf derselben Ebene wie die Datei Robot.py befindet. Führen Sie den Befehl cd /home/fairino/fairino-python-sdk-master/fairino-python-sdk-master/linux/fairino aus, um in das Verzeichnis mit Robot.py zu wechseln.

../_images/03613.png

Abbildung 16.2‑8 In das Verzeichnis mit der Datei Robot.py wechseln

Bestätigen Sie die Python-Version mit dem Befehl python –version.

../_images/03713.png

Abbildung 16.2‑9 Python-Version anzeigen

Geben Sie im Terminalfenster den Befehl python setup.py build_ext –inplace ein und drücken Sie die „Eingabetaste“, um die Python SDK-Dynamikbibliothek zu generieren.

../_images/03812.png

Abbildung 16.2‑10 Befehl zur Generierung der Dynamikbibliothek ausführen

Nach Abschluss der Generierung werden im Ordner fairino die Dateien Robot.c und Robot.cpython-310-x86_64-linux-gnu.so erstellt. Robot.c ist die in C konvertierte Version von Robot.py. Robot.cpython-310-x86_64-linux-gnu.so ist die Python SDK-Dynamikbibliothek, wobei „python-310“ für die Kompatibilität mit Python 3.10 und „linux-gnu“ für die Linux-Plattform steht.

../_images/03912.png

Abbildung 16.2‑11 Generierung der .so-Dynamikbibliothek

17.3. Wichtige Hinweise

17.3.1. Mögliche Probleme

17.3.1.1. Versionskompatibilität

Die Python-Dynamikbibliothek ist von der Erzeugungsumgebung und der Python-Version abhängig. Daher muss bei der Verwendung der Python-Dynamikbibliothek überprüft werden, ob die Bibliothek mit dem Systemtyp und der Python-Version übereinstimmt.

17.3.1.2. Fehlercodes

Ein Rückgabewert von 0 bedeutet, dass der Vorgang normal ausgeführt wurde. Ist der Rückgabewert nicht 0, schlagen Sie bitte in der Fehlercode-Referenztabelle nach.