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.
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.
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.
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.
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;
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;
Figura 16.2‑2 Selezione Versione Python
Fare clic con il tasto destro sulla cartella fairino, selezionare «Apri in», quindi fare clic su «Terminale»;
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;
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.
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;
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;
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.
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;
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;
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.
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.