Python Virtual Environment per LabVIEW

Python Virtual Environment LabVIEW

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

  1. Creazione della Virtual Environment:
python -m venv percorso_della_venv
  1. 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.

Ora puoi approfondire questo argomento con uno dei nostri corsi HandsON.

Protocolli Industriali con LabVIEW

Scoprire i protocolli industriali, come integrarli in labview. In questo corso impararerai a implementare toolkit e librerie, per utilizzare protocolli come ModBus e OPC-UA
Intermedio

Liv. Intermedio

OnLine; Con Istrutttore

3 gg

LabVIEW UI/UX

Lo sviluppo di applicativi per Testing e Misure vede sempre più una necessità di integrare interfacce curate soprattutto in prospettiva dell'utilizzo da utenti meno esperti e nel considerare di ridurre errri e incertezze dovute spesso ad un interfaccia poco chiara e intuitva.
Intermedio

Liv. Intermedio

OnLine; Con Istrutttore

3 gg

Corso LabVIEW StateMachine Pro

Il paradigma di programmazione convenzionale è il data flow. Siamo abituati ad usare il cluster di errore per gestire la sequenza di esecuzione dei nodi in labview. La macchina a Stati, permette di gestire l'ordine di esecuzione condizionato all'uscita dello stato in esecuzione. L'implementazione di questo pattern permette quindi l'integrazione del diagramma di stato e una razionalizzazione dell'applicazione, diventando più flessibile, leggibile e manutenibile.
INTERMEDIO

Liv. INTERMEDIO

In Presenza

1 gg

Scopri i nostri servizi e Prodotti, Contattaci ora!

Altri articoli dal nostro Blog