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.
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.
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.
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.
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.
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.
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“.
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.
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.
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.
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.
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.
Abbildung 16.2‑8 In das Verzeichnis mit der Datei Robot.py wechseln
Bestätigen Sie die Python-Version mit dem Befehl python –version.
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.
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.
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.