• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
Guide

Creare un isolated environment Python | Windows 10

Creare un isolated environment Python | Windows 10

In questo post vediamo una serie di operazioni fondamentali che una volta eseguite ci consentiranno di gestire in modo ordinato e pulito ogni progetto di machine learning: ecco l’isolated environment.

Sicuramente una buona abitudine, nonché spettabile skill da possedere nel nostro curriculum come data scientist.

Prima di procedere, è necessario che abbia seguito la precedente guida e installato correttamente la distribuzione anaconda che include python

Da qui in poi, ogni comando sarà impartito su Windows PowerShell

(non useremo anaconda prompt perché il comando conda è lento e non sempre funziona a dovere)

Perché avere un isolated environment

Un ambiente isolato è banalmente una cartella in cui l’installazione di pacchetti software è indipendente da quella di tutte le altre; e inoltre facilmente riproducibile, assicurando così la massima condivisione.

In questo modo è possibile lavorare a differenti progetti senza avere conflitti con le versioni delle librerire. In più l’agevolezza con cui poter condividere il codice fa di noi dei data scientist collaborativi. Una qualità che non deve essere sottovalutata.

Avremo:

  • la cartella A con i pacchetti 1, 2 (v.1.2.4), 3
  • la cartella B con i pacchetti 1, 2 (v.1.1.0), 4.

Pacchetti differenti, o simili con versioni diverse.

Riepilogo vantaggi

Abbiamo enumerato una serie di vantaggi nella creazione di un isolated environment. Li ho riassunti qui per te:

  • iniziare ogni progetto in un ambiente pulito, gestito e ordinato
  • facile riproduzione dell’ambiente di sviluppo in caso di condivisione del progetto (utile per correzione bug, e revisione)
  • facile riproduzione dell’ambiente in caso di passaggio da sviluppo locale al cloud.
  • riduzione del rischio di conflitto tra librerie

Piccolo case study

Qualche tempo fa mi ero cimentai nell’installazione di Tensorflow GPU, una potente libreria che presto useremo nei nostri progetti.

Provai svariate volte ma ottenni sempre lo stesso errore.

Poi scoprii che Tensorflow non era allora compatibile con la versione di python installata sul mio computer (v3.7). Avevo bisogno della v3.5. (lampa te caso di libreria version-dependent)

Come avrei fatto ad installare due versioni di python sullo stesso computer? Mi bastò configurare un isolated environment con quella versione e finalmente riuscii nell’impresa.

Come creare un isolated environment

Avviamo Windows PowerShell, creiamo la nostra cartella e spostiamoci al suo interno:

mkdir ds-bigmart
cd ds-bigmart

Ora installiamo virtualenv digitando:

pip install virtualenv

Attenzione: “pip not found”
Se, e solo se, dovessi incorrere in un errore anagolo e comunque riconducibile alla mancanza del comando pip (Python Install Package), digita sempre da shell:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

Attenzione: “python not found”
Se, e solo se, dovessi incorrere in un errore anagolo e comunque riconducibile alla presunta assenza di python (anche dopo aver installato Anaconda) avvia Anaconda Prompt e digita:

where python

Ora copia l’output e aggiungilo alla variabile d’ambiente PATH. Esegui nuovamente lo script get-pip.py, e aggiungi alla varibaile path anche la posizione dello script pip se necessario.

Ora, anche il percorso dello script di virtualenv potrebbe non essere inserito nelle variabili d’ambiente. Nel mio caso ho dovuto aggiungere il percorso di installazione alla variabile Path. Ricordati di riavviare la shell in caso di cambiamenti alle varaibili d’ambiente.

Con virtualenv pronto non ci resta che installare source:

pip install source

Potrebbe esserti necessario aggiungere anche la cartella di questo script alle variabili d’ambiente. Per me lo è stato.

Riavviato nuovamente la PowerShell, mi sposto all’interno della cartella ds-bigmart e digito:

virtuelenv env

Una cartella /env sarà creata all’interno della cartella.

Ora definiamo un filte requirements.txt contenente le librerie necessarie al nostro progetto:

Salviamo il file e digitiamo:

env/Scripts/activate

Da questo momento in poi ogni nuova installazione sarà compartimentata a questo specifico ambiente.

Nel mio caso l’esecuzione di script all’interno della Shell era disabilitata e peraltro non compariva alcun errore. Solo in seguito è salito un warning:

PSSecurityException

Per risolvere il problema ho avviato la PowerShell come amministratore, e dato il comando:

set-executionpolicy remotesigned

Per il momento è tutto.

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Settembre 23, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • Blockchain Developer

    Circuito aritmetico

    Novembre 1, 2022
  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino