Compresi i vantaggi di NumPy e il motivo per cui questa libreria è il mattone fondamentale per tutte le librerie e framework di analisi dati ed elaborazione numerica, in questa lezione:
- vedremo come installare questa libreria sul nostro sistema operativo;
- analizzeremo brevemente le piattaforme Anaconda, Google Colab e Kaggle e i relativi vantaggi per iniziare a lavorare con NumPy.
Prerequisiti
L’unico vero prerequisito per installare NumPy sulla propria macchina è Python.
Python è generalmente pre-installato nelle sue versioni 2.7.x e 3.x su tutti i sistemi operativi unix-like, come macOS e Linux.
Su Windows, invece, è necessario installarlo manualmente attraverso l’installer ufficiale o attraverso il Microsoft Store di Windows 10. In alternativa, è possibile utilizzare Anaconda come descritto più avanti in questa lezione.
Per verificare l’installazione di Python basta eseguire il seguente comando.
python --version
In questa guida utilizzeremo Python3 e quindi installeremo NumPy per questa versione del linguaggio potendo sfruttare tutti i benefici derivanti dalle sue ultime versioni.
La gestione dei pacchetti Python
I due principali tool per l’installazione dei pacchetti Python sono pip
e conda
. I due gestori di pacchetti hanno diverse funzionalità in comune, come:
- la possibilità di installare pacchetti come NumPy;
- rendere le installazioni riproducibili tramite l’utilizzo di un conda/virtual environment.
I due tool differiscono sotto aspetti pratici, come ad esempio il fatto che:
conda
è un gestore di pacchetti cross-language e può installare anche librerie che non sono specifiche per Python, come CUDA e HDF5, mentrepip
non può farlo;pip
installa pacchetti forniti da Python Packaging Index (PyPI), mentreconda
li può installare da diversi canali comedefaults
oconda-forge
;- rispetto a
conda
che va installato manualmente,pip
è preinstallato con Python 2 (2.7.9
o superiori) e Python 3 (3.4
o superiori).
Quale utilizzare tra i due dipende come sempre dallo scopo del progetto. Ai fini di questa guida, entrambi i gestori di pacchetti vanno bene perché permettono di installare il pacchetto di NumPy.
Vediamo adesso come installare il pacchetto NumPy tramite conda
e pip
in un ambiente isolato, ossia in un virtual environment, al fine di mantenere pulito il nostro ambiente di sviluppo e di permettere la riproducibilità degli script e dei programmi Python.
Installazione tramite conda
Per creare un nuovo conda
environment eseguiamo da terminale il comando
conda create -n my-env
Creato il conda
environment my-env attiviamolo per poter procedere con l’installazione
conda activate my-env
Se si desidera installare numpy dal canale conda-forge
eseguire il seguente comando
conda config --env --add channels conda-forge
Effettuiamo a questo punto l’installazione tramite il comando
conda install numpy
Terminata l’installazione siamo pronti a utilizzare NumPy.
Per verificare che l’installazione sia andata a buon fine, nella stessa finestra del terminale in cui abbiamo installato NumPy e attivato l’environment my-env, eseguiamo il comando
python3
per avviare una nuova console Python. A questo punto importiamo il modulo numpy e verifichiamo la versione di NumPy installata.
import numpy
numpy.version.version
L’output che otterremo sarà il seguente
'1.19.0'
Installazione tramite pip3
Per creare un nuovo virtual environment eseguiamo da terminale il comando
python3 -m venv venv
dove con l’opzione -m venv
stiamo dicendo che vogliamo usare il modulo venv
preinstallato di Python per creare il virtual environment, che chiameremo venv
per convenzione.
Creato il virtual environment venv
, attiviamolo per poter procedere con l’installazione. Dalla cartella corrente in cui abbiamo creato il venv
, eseguiamo il comando:
source venv/bin/activate
Effettuiamo a questo punto l’installazione tramite il comando
pip3 install numpy
Analogamente a quanto fatto per conda, è possibile verificare la versione del pacchetto numpy
installata eseguendo i medesimi passi illustrati prima.
NumPy su Anaconda, Google Colab e Kaggle
Come anticipato, in questa guida faremo uso di Jupyter notebook, un’applicazione web con una classica struttura client-server, che rappresenta uno degli strumenti fondamentali di un qualsiasi Data Scientist/Analyst e ML Engineer.
Se non si dispone già di un ambiente configurato con l’applicazione Jupyter notebook e di un relativo virtual environment in cui installare la libreria NumPy come abbiamo visto in precedenza, è possibile utilizzare una delle seguenti piattaforme.
Strumento | web/locale | Descrizione |
---|---|---|
Anaconda | locale | Anaconda è la piattaforma cross-platform di analisi dati e machine learning (ML) più popolare al mondo e supporta i linguaggi di programmazione Python e R per il calcolo scientifico. La piattaforma mira a semplificare la gestione e la distribuzione delle librerie per il calcolo scientifico, oltre 1500, includendo nel pacchetto di installazione tutti i pacchetti e librerie di base di data science adatti per Windows, Linux e macOS. Nel pacchetto di installazione sono inoltre già inclusi e pronti all’uso diversi ambienti per sviluppare, tra cui ritroviamo Jupyter Notebook, Jupyeter Lab (una variante molto utilizzata del primo) e R Studio. |
Google Colab | web | è la piattaforma realizzata da Google per creare ed eseguire i nostri notebook direttamente sul Cloud. Di default Google Colab è già integrato all’interno della propria suite di Google Drive e offre un insieme di librerie e pacchetti di data science e ML preinstallati, oltre alla possibilità di far girare il proprio codice su CPU, GPU e TPU. |
Kaggle | web | è la più nota piattaforma di competizioni in ambito data science e ML, e mette a disposizione dei propri utenti iscritti un workspace dove fare i propri esperimenti tramite la l'implementazione dei notebook offerta da Kaggle che come per Google Colab possono essere eseguiti su CPU, GPU e TPU. Kaggle include di default i pacchetti base per il calcolo scientifico e permette di installare nuove librerie e pacchetti. |
Il vantaggio di usare una delle suddette piattaforme risiede nel poter iniziare fin da subito a sperimentare e a lavorare con librerie di data science come NumPy, senza doversi preoccupare, in un primo momento, di come installarle e di quale IDE utilizzare per i propri esperimenti.
Si consiglia quindi, prima di proseguire in questa guida, di valutare l’utilizzo di una di esse.