17. Appendice

17.1. Download Codice Sorgente

Nel sito di documentazione di FAIR (https://fairino-doc-it.readthedocs.io/latest/), trovare il modulo «Download Materiali», fare clic sul pulsante «Python SDK», quindi nella pagina a destra fare clic su «FAIRINO Python SDK» e attendere il completamento del download del browser.

../_images/02512.png

Figura 16.1‑1 Download Codice Sorgente Python SDK

Scaricare ed estrarre il Python SDK. La struttura della directory del progetto è mostrata nella figura seguente. La cartella windows contiene il Python SDK per sistemi Windows; la cartella linux contiene il Python SDK per sistemi Linux.

../_images/02613.png

Figura 16.1‑2 Esempio Struttura File Python SDK

Prendendo come esempio il sistema Windows, aprire la cartella windows. La directory è mostrata nella figura seguente. La cartella example contiene esempi di test, la cartella fairino contiene il codice sorgente del Python SDK e libfairino contiene i file di libreria.

../_images/02713.png

Figura 16.1‑3 Esempio Struttura File Python SDK per Sistema Windows

Aprire la cartella windows utilizzando il software Pycharm. La struttura è mostrata nella figura seguente.

../_images/02812.png

Figura 16.1‑4 Esempio Struttura File Progetto in Pycharm

17.2. Compilazione Codice Sorgente

La generazione della libreria dinamica Python produce librerie diverse a seconda del tipo di sistema e della versione di Python. Ad esempio, sulla piattaforma Windows il file di libreria generato ha estensione «.pyd», mentre su Linux ha estensione «.so». Inoltre, le librerie dinamiche generate da versioni diverse di Python non possono essere utilizzate in modo intercambiabile. Pertanto, prima di generare la libreria dinamica, è necessario determinare la versione di Python, la piattaforma di utilizzo, ecc. Questo manuale fornisce istruzioni per la compilazione utilizzando Python 3.10, Windows 11 e Ubuntu 22.04.

17.2.1. Compilazione Python SDK su Piattaforma Windows

Innanzitutto, aprire il file Python SDK scaricato utilizzando Pycharm e aprire il file setup.py;

../_images/02913.png

Figura 16.2‑1 Apertura File Progetto

Quindi, fare clic nell’angolo in basso a destra per selezionare l’interprete Python. In questo esempio si utilizza Python 3.10;

../_images/03012.png

Figura 16.2‑2 Selezione Versione Python

Fare clic con il tasto destro sulla cartella fairino, selezionare «Apri in», quindi fare clic su «Terminale»;

../_images/03112.png

Figura 16.2‑3 Apertura Terminale

Nell’interfaccia del terminale, inserire «python setup.py build_ext –inplace» e premere «Invio» per generare la libreria dinamica Python SDK;

../_images/03212.png

Figura 16.2‑4 Esecuzione Comando Generazione Libreria Dinamica

Dopo il completamento della generazione della libreria dinamica, nella cartella fairino verranno generati Robot.c e Robot.cp310-win_amd64.pyd. Robot.c è il file Robot.py convertito in linguaggio C; Robot.cp310-win_amd64.pyd è la libreria dinamica Python SDK, dove «cp310» indica la compatibilità con Python 3.10 e «win_amd64» indica la compatibilità con la piattaforma Windows.

../_images/03313.png

Figura 16.2‑5 Generazione Libreria Dinamica .pyd

17.2.2. Compilazione Python SDK su Piattaforma Linux

Innanzitutto, verificare la versione di Python. Questo manuale utilizza lo strumento pyenv per gestire le versioni di Python nel sistema Linux. Eseguire il comando «pyenv versions» per visualizzare la versione corrente di Python;

../_images/03413.png

Figura 16.2‑6 Verifica Versione Python

Quindi, passare alla versione di Python target. Utilizzando Python 3.10 come esempio, eseguire il comando «pyenv global 3.10.3» per passare a Python 3.10;

../_images/03513.png

Figura 16.2‑7 Selezione Versione Python

Passare alla directory che contiene il file Robot.py eseguendo il comando «cd /home/fairino/fairino-python-sdk-master/fairino-python-sdk-master/linux/fairino» per cambiare directory fino a Robot.py.

../_images/03613.png

Figura 16.2‑8 Passaggio alla Directory del File Robot.py

Confermare la versione di Python eseguendo il comando «python –version» per visualizzare la versione corrente di Python;

../_images/03713.png

Figura 16.2‑9 Verifica Versione Python

Nell’interfaccia del terminale, inserire «python setup.py build_ext –inplace» e premere «Invio» per generare la libreria dinamica Python SDK;

../_images/03812.png

Figura 16.2‑10 Esecuzione Comando Generazione Libreria Dinamica

Dopo il completamento della generazione della libreria dinamica, nella cartella fairino verranno generati Robot.c e Robot.cpython-310-x86_64-linux-gnu.so. Robot.c è il file Robot.py convertito in linguaggio C; «Robot.cpython-310-x86_64-linux-gnu.so» è la libreria dinamica Python SDK, dove «python-310» indica la compatibilità con Python 3.10 e «linux-gnu» indica la compatibilità con la piattaforma Linux.

../_images/03912.png

Figura 16.2‑11 Generazione Libreria Dinamica .so

17.3. Note Importanti

17.3.1. Problemi Potenziali

17.3.1.1. Corrispondenza Versioni

La libreria dinamica Python dipende dall’ambiente di generazione e dalla versione di Python. Pertanto, quando si utilizza una libreria dinamica Python, è necessario verificare che la libreria sia compatibile con il tipo di sistema e che la versione della libreria corrisponda alla versione di Python in uso.

17.3.1.2. Codici di Errore

Un valore di ritorno pari a 0 indica un’esecuzione normale. Se il valore di ritorno è diverso da 0, consultare la tabella di riferimento dei codici di errore.