Prima di iniziare a scrivere del codice, è essenziale configurare la nostra postazione di lavoro con un nuovo ambiente di sviluppo. In questi esempi userò il terminale di OSX e Python 3.8.
Se sei un utente Windows la logica di base non cambia, ma per alcuni comandi potresti dover usare Google. A partire da Windows 10, è possibile installare WSL (Windows Subsystem for Linux) - questo è un sottosistema messo a disposizione da Microsoft che può ospitare diverse distribuzioni Linux. Leggete qui per una guida approfondita. Un'altra opzione a disposizione sarebbe anche quella di installare una macchina virtuale con Ubuntu 18.04 oppure usare una VPS.
Un breve incipit per coloro che hanno appena iniziato il loro percorso nel data science e nella programmazione in Python. Un ambiente virtuale è un ambiente di sviluppo che si comporta come contenitore del nostro attuale progetto. Pur avendo la possibilità di installare qualsivoglia libreria a livello di sistema, avere un ambiente virtuale permette di installare tali librerie e pacchetti per progetti specifici. Questo permette di avere un sistema ordinato e facilmente navigabile, senza rischi di incompatibilità o malfunzionamenti a livello globale.
Dedicare un ambiente virtuale ad un progetto è prassi usuale, e andrebbe sempre fatto per i motivi sopracitati. In Python esistono diverse opzioni per la gestione degli ambienti virtuali. Una delle più famose è sicuramente Anaconda, che un software che aiuta (soprattutto i data scientist) a configurare e gestire in maniera efficiente i nostri ambienti di sviluppo.
Utilizzeremo Miniconda per configurare Python sul nostro sistema. È un installer lightweight di conda, un sistema open source di gestione di ambienti di sviluppo orientato al data science e disponibile per Linux, OSX e Windows. La scelta di optare per Miniconda e non per Anaconda è perché quest'ultimo porta con se numerosi pacchetti che secondo me che non useremo mai se non in sporadici casi e quindi avere una installazione di piccole dimensioni è più sensato.
Al tempo di scrittura di questo articolo il file che scaricheremo dal sito ufficiale avrà un nome del genere: Miniconda3-py38_4.11.0-MacOSX-x86_64.sh
A seconda dell'architettura del nostro sistema possiamo scegliere tra la versione base e la versione per chipset M1 ARM.
Una volta scaricato il file, apriamo il terminale e scriviamo
$ cd Downloads
$ sh Miniconda3-py38_4.11.0-MacOSX-x86_64.sh
e seguiamo le istruzioni su schermo. Possiamo controllare abbiamo installato correttamente il software se scriviamo conda nel nostro terminale.
A questo punto abbiamo installato Miniconda sul nostro sistema Mac OSX e siamo pronti a creare un ambiente virtuale.
Una volta installato Anaconda o Miniconda e validato il loro corretto funzionamento usando il comando conda è possibile creare un nuovo ambiente di sviluppo così:
$ conda create -n nome_del_mio_ambiente
Questo comando creerà un ambiente di sviluppo virtuale chiamato nome_del_mio_ambiente nella directory di installazione. Per attivare l'ambiente virtuale basta eseguire il comando
$ conda activate nome_del_mio_ambiente
A questo punto abbiamo finito. Il nostro ambiente virtuale è pronto per lo sviluppo del nostro applicativo. Vediamo ora come installare o disinstallare librerie e pacchetti nel nostro ambiente virtuale appena attivato.
Ora è il momento di aggiungere strumenti alla nostra cassetta degli attrezzi. Per aggiungere un pacchetto o libreria Python, basta usare il comando
$ conda / pip install nome_libreria
Come possiamo vedere è possibile usare il comando pip per installare pacchetti anche all'interno di conda. Infatti, se usiamo il comando
$ conda list / pip list
conda o pip, rispettivamente, ci mostreranno i pacchetti installati attraverso il loro comando.
Consiglio di usare il comando pip install rispetto a conda install perché alcuni pacchetti non sono disponibili nel repository di conda. I motivi possono essere diversi, ma usare pip non ha alcun svantaggio e permette di scaricare e installare pacchetti efficientemente.
Condivido con voi il cheat sheet ufficiale messo a disposizione da Anaconda. Vi permetterà di risparmiare moltissimo tempo nelle vostre ricerche e di ottimizzare il lavoro.