Preparazione automatica di un ambiente Python per LabVIEW
La comunità LabVIEW ha ormai integrato con successo Python, sfruttandone i vantaggi complementari per ampliare le potenzialità dei propri progetti.
Anche in Bytelabs utilizziamo sempre più frequentemente script Python per completare e potenziare i progetti sviluppati in LabVIEW.
Ci siamo quindi posti l’interrogativo su quale sia il modo migliore per:
- Limitare dipendenze e problemi con le versioni di Python installate.
- Utilizzare al meglio i Python Node, puntando a versioni compatibili.
- Evitare troppe operazioni manuali.
Python Virtual Environment
La Virtual Environment (venv) è uno strumento che consente di creare ambienti Python isolati.
Ogni ambiente ha una propria installazione di Python, librerie e dipendenze, separate dal sistema principale.
Vantaggi:
Evita conflitti tra diverse versioni di librerie.
Garantisce compatibilità tra applicazioni.
Facilita il deployment di applicazioni standalone.
Creazione e Utilizzo
- Creazione della Virtual Environment:
python -m venv percorso_della_venv
- Attivazione:
Su Windows:
percorso_della_venv\Scripts\activate.bat
Su macOS/Linux:
source percorso_della_venv
Disattivazione:
Basta eseguire il comando: deactivate
La virtual environment garantisce che tutte le librerie installate tramite pip rimangano confinate all’ambiente qqgnj, evitando interferenze con altre applicazioni Python.
Batch File per Automatizzare il Processo
Per semplificare e automatizzare la configurazione dell’ambiente, si può utilizzare un file Batch.
Questo file esegue in sequenza i passaggi necessari per:
Creare una virtual environment nella directory dell’applicazione LabVIEW.
Aggiornare pip alla versione più recente.
Installare le librerie richieste tramite un file requirements.txt.
Esempio di Batch File
@echo off
REM Percorso della venv
set VENV_PATH=C:\Path\To\YourApp\venv
REM Creazione della venv
python -m venv %VENV_PATH%
REM Attivazione della venv
call %VENV_PATH%\Scripts\activate.bat
REM Aggiornamento di pip
%VENV_PATH%\Scripts\python.exe -m pip install --upgrade pip
REM Installazione dei pacchetti
%VENV_PATH%\Scripts\python.exe -m pip install -r requirements.txt
REM Disattivazione
deactivate
LabVIEW può generare dinamicamente questo file Batch e lanciarlo tramite System Exec.vi, garantendo così un setup automatico e trasparente per l’utente.
Creazione del configuratore in LabVIEW
Test dell’eseguibile
Per testare l’eseguibile abbiamo creato uno script che usa numpy per eseguirsi in LabVIEW come Formula Node.
Ecco il codice PyFormulaNode.py
Il Front Panel del VI TestFormulaNode.vi
Creazione dell’eseguibile per lanciare l’automazione della VENV.
Ora è sufficiente, eseguire questo eseguibile dalla cartella di progetto o da una cartella di esecuzione, per generare una VENV predisposta all’esecuzione con le path relative di progetto/applicazione.
Discussione
Stiamo ancora facendo qualche esperimento sui progetti (sorgenti) e sugli installer per capire potenziali miglioramenti e testare l’efficacia.