Corso
Se stai pensando di diventare data scientist, prima inizi a imparare a programmare, meglio è. I professionisti dei dati passano gran parte del loro tempo a scrivere codice. I linguaggi di programmazione sono gli strumenti chiave che permettono di analizzare ed estrarre insight significativi da grandi quantità di dati.
Probabilmente il linguaggio di programmazione più popolare per la data science è Python. Python è un linguaggio open-source, general-purpose e potente, con applicazioni in molti ambiti software, come lo sviluppo web, lo sviluppo di videogiochi e, naturalmente, la data science.
Sebbene Python da solo sia già in grado di fare molte cose interessanti, i professionisti dei dati – e più in generale gli sviluppatori software – spesso utilizzano pacchetti aggiuntivi – detti anche librerie – per semplificarsi la vita. Un pacchetto è una raccolta di file, moduli e dipendenze correlati che possono essere riutilizzati in diverse applicazioni e problemi.
Uno dei punti di forza di Python è l’ampio catalogo di librerie ben documentate e complete. Dove sono ospitate queste librerie? Come puoi installare e gestire i pacchetti che ti interessano?
In questo tutorial, ti introdurremo al mondo dei pacchetti in Python e a pip, l’installer standard dei pacchetti per Python. Pip è uno strumento potente che ti permetterà di sfruttare e gestire i tanti pacchetti Python che incontrerai come professionista dei dati e programmatore.
Capire i pacchetti in Python
Usiamo una metafora per capire cos’è pip. Immagina che Python sia una cassetta degli attrezzi ben fornita con gli strumenti essenziali per programmare. Quando acquisti (installi) Python sul tuo computer, arriva con un’ampia raccolta di strumenti aggiuntivi (pacchetti) che puoi usare in qualsiasi momento.
La cosiddetta Python Standard Library è un insieme esteso di pacchetti integrati che forniscono soluzioni standardizzate a molti problemi che si presentano nella programmazione quotidiana. Poiché questi pacchetti sono inclusi nelle moderne distribuzioni di Python, puoi usarli senza installazioni aggiuntive. Devi solo “importarli” nel tuo spazio di lavoro (ne parleremo meglio tra poco).
Tuttavia, a volte potresti non trovare lo strumento che cerchi in Python o nella sua Standard Library. In questi casi, dovrai procurarti nuovi strumenti altrove. Fortunatamente, Internet è un enorme negozio dove puoi trovare centinaia di migliaia di pacchetti sviluppati da developer Python per i più svariati scopi.
E la cosa migliore? La grande maggioranza di questi pacchetti è gratuita. Se vuoi saperne di più sui pacchetti in Python e su come svilupparne di tuoi, dai un’occhiata al nostro corso Developing Python Packages.
Sebbene i pacchetti di terze parti possano essere ospitati in posizioni diverse, il repository più popolare e completo è il Python Package Index (PyPi). Con oltre 300.000 pacchetti Python disponibili, PyPI è un enorme repository online di pacchetti approvati dalla comunità Python.
Una volta identificato il pacchetto che cerchi, dovrai scaricarlo e installarlo sul tuo computer per poterlo usare. Come si fa? È qui che entrano in gioco i gestori di pacchetti.
Capire i package manager: pip
Un package manager (o sistema di gestione dei pacchetti) è uno strumento che automatizza l’installazione, l’aggiornamento, la configurazione e la rimozione dei pacchetti su un computer in modo coerente.
I package manager sono progettati per eliminare la necessità di installazioni e aggiornamenti manuali, garantendo così che un pacchetto venga installato insieme a tutte le dipendenze necessarie al suo funzionamento. Allo stesso modo, poiché i package manager si basano sulle informazioni memorizzate in repository di pacchetti certificati, come PyPi e Anaconda, assicurano l’integrità e l’autenticità dei pacchetti.
Il package manager più popolare per Python è pip. Sviluppato nel 2008, pip (acronimo di “pip Install Packages”) è oggi lo strumento standard per installare i pacchetti Python e le loro dipendenze in modo sicuro. Le versioni più recenti di Python includono pip preinstallato. Python 2.7.9 e Python 3.4 e versioni successive includono pip di default.
Pip è uno strumento potente e facile da usare che ti permette di gestire i pacchetti Python con pochi comandi. Sebbene pip utilizzi PyPi come repository predefinito per recuperare i pacchetti, ha anche la capacità di installarli da altre fonti, tra cui:
- Sistemi di controllo versione come Github, Mercurial, Subversion e Bazaar.
- File requirements. Di solito, i pacchetti Python necessitano di più pacchetti per funzionare. Per installare tutte le dipendenze in una sola volta, pip usa il cosiddetto requirements.txt, che contiene l’elenco dei pacchetti necessari, insieme alle versioni corrette.
- File di distribuzione. Sono file versionati e pronti per l’installazione che contengono pacchetti Python, moduli e altre risorse necessarie al funzionamento di un pacchetto. Esistono in due forme:
- Distribuzione sorgente (di solito abbreviata in “sdist”)
- Distribuzione wheel (di solito abbreviata in “wheel”)
Per poter usare pip e iniziare a gestire i pacchetti, devi prima assicurarti che sia installato sul tuo computer. Per verificare se pip è disponibile, esegui uno dei seguenti comandi nel terminale:
>>pip3 --version
>>pip --version
pip vs pip3 vs pip2
Dopo aver letto la sezione precedente, potresti chiederti qual è la differenza tra pip e pip3. In seguito al rilascio di Python 3, pip ha incorporato il nuovo comando pip3, che opera sempre sull’ambiente Python 3 del tuo computer. Lo stesso vale per il comando pip2. Quindi, se vuoi essere sicuro che pip operi sul tuo ambiente Python 3 o Python 2, usa rispettivamente i comandi pip3 o pip2.
Al contrario, il comando pip opera sull’ambiente Python appropriato al contesto. Questo è rilevante quando hai sia Python 2 che Python 3 installati sul tuo computer.
Ad esempio, i computer MacOS si basano su Python 2 per eseguire alcune funzionalità di base. Se stai lavorando in un ambiente Python 2, il comando pip installerà, disinstallerà, aggiornerà o gestirà i pacchetti per Python 2. Lo stesso vale se stai lavorando in un ambiente Python 3.
Tuttavia, in queste situazioni, dovresti essere certo dell’ambiente Python in cui stai lavorando prima di usare il comando pip, altrimenti potresti modificare i pacchetti nell’ambiente sbagliato.
pip in azione
Ora che conosci le basi di pip e lo hai installato sul tuo computer, vediamo come puoi usarlo!
Installare pacchetti con pip
L’uso più comune di pip è l’installazione di pacchetti Python. Per esempio, se vuoi installare pandas, il pacchetto standard per manipolare i data frame in Python, il modo più semplice è eseguire il seguente comando:
>>pip install pandas
[...]
Successfully installed pandas
Potresti aver bisogno di installare un pacchetto in una certa versione. Con pip è piuttosto semplice: ti basta specificare la versione che vuoi installare. Mettiamo che tu voglia installare la versione 1.4.0 di pandas:
>>pip install pandas==1.4.0
Nel caso in cui tu voglia installare un pacchetto che rispetti certe condizioni sulle versioni, pip consente di usare alcune condizioni booleane. Ad esempio, se vuoi installare una versione di pandas maggiore o uguale alla v.1.0.0 e minore di 1.5:
>>pip install pandas>=1.0.0,<1.5.0
Installare il pacchetto scikit-learn con pip
Nel seguente esempio, imparerai come installare il pacchetto scikit-learn, che installerà anche le altre dipendenze necessarie.
pip install scikit-learn

Dai log potresti notare che viene installato più del solo pacchetto scikit-learn. Questo perché pip installa anche tutti gli altri pacchetti da cui scikit-learn dipende. Questi altri pacchetti sono chiamati dipendenze.
Installare un elenco di pacchetti con i file requirements di pip
Quando lavori a progetti collaborativi, è molto comune che tutti i membri del team usino gli stessi pacchetti con le stesse versioni. Per garantirlo, il modo migliore è installare i pacchetti usando un file dei requisiti. Di solito si tratta di un file di testo che contiene tutti i pacchetti, insieme alle rispettive versioni, utilizzati nel progetto.
Pip ti permette di installare un elenco di pacchetti in una sola volta utilizzando un file requirements. Per esempio, se per il nostro progetto ci servono i pacchetti numpy, pandas e TensorFlow, possiamo includerli, insieme alle versioni desiderate, in un file requirements.txt, come mostrato di seguito:

Per installare i pacchetti elencati in un file requirements.txt, ci basta eseguire:
>>pip install -r requirements.txt
Se vuoi creare un file dei requisiti da condividere con il resto del team, puoi usare il seguente comando:
>>pip freeze > requirements.txt
Installare pacchetti da GitHub con pip
Oltre a PyPi, esistono altre fonti su Internet dove possono essere ospitati pacchetti Python. Sistemi di controllo versione come GitHub includono repository di pacchetti dove puoi caricare e condividere pacchetti con la community Python.
Mettiamo che tu voglia installare pacchetti ospitati su GitHub. A pip basta che sia disponibile un eseguibile funzionante a un URL di GitHub. Per esempio:
>>pip install git+https://github.com/pypa/sampleproject.git@main
Aggiornare i pacchetti con pip
A volte avrai bisogno di aggiornare a una versione più recente un pacchetto già installato sul tuo computer. Pip rende questo processo estremamente semplice. Per esempio, se vuoi aggiornare pandas all’ultima versione:
>>pip install --upgrade pandas
Nel caso tu voglia aggiornare tutti i pacchetti elencati in un requirements.txt, puoi usare:
>>pip install -r requirements.txt --upgrade
È importante notare che pip esegue anche automaticamente la disinstallazione della versione vecchia di un pacchetto prima di aggiornare a una versione più recente.
Rimuovere pacchetti con pip
Rimuovere un pacchetto è molto semplice con pip. Se vuoi disinstallare pandas, ti basta eseguire:
>>pip uninstall pandas
Comandi pip aggiuntivi
Sebbene installare, aggiornare e rimuovere pacchetti siano le azioni più comuni che farai con pip, ci sono anche altri comandi degni di nota.
Se ti servono informazioni extra sui diversi comandi disponibili in pip e su come usarli, esegui:
>>pip help
Per elencare tutti i pacchetti installati nel tuo ambiente:
>>pip list
Per vedere un riepilogo di un pacchetto che ti interessa:
>>pip show [NameOfPackage]
Risoluzione dei problemi con pip
Anche se pip è uno strumento piuttosto semplice, con pochi comandi, possono sempre sorgere problemi. Ecco un elenco dei problemi più comuni e come risolverli.
Installare pip
Sebbene sia insolito, è possibile che pip non sia installato. In questo caso, il modo più semplice per installarlo è eseguire il comando qui sotto. Questo farà sì che Python attivi il pacchetto integrato ensurepip, progettato per installare pip in un ambiente Python.
>>python3 -m ensurepip --default-pip
Se il problema persiste, consulta la documentazione di pip per provare soluzioni alternative.
Pip non è aggiornato
Nuove versioni di un pacchetto possono portare correzioni di bug, nuove funzionalità e prestazioni migliori. Questo vale per ogni pacchetto Python, incluso pip. Se stai usando una versione datata di pip, potresti riscontrare comportamenti inattesi. Per questo è sempre consigliato mantenere pip aggiornato, così come i pacchetti setuptools e wheel, utili per garantire che tu possa installare anche pacchetti da archivi sorgente.
>>pip install –upgrade pip setuptools wheel
Conclusione
Speriamo che questo tutorial ti sia piaciuto! In quanto strumento standard per l’installazione dei pacchetti, pip è fondamentale per gli sviluppatori Python. È piuttosto facile da usare, il che rende la gestione dei pacchetti un processo lineare una volta che prendi confidenza con i comandi e la dinamica.
Se cerchi ulteriori risorse, dai un’occhiata ai materiali DataCamp qui sotto e inizia oggi stesso con Python e pip!
FAQ su pip in Python
Che cos’è un pacchetto in Python?
Un pacchetto è una raccolta di file, moduli e dipendenze correlati che possono essere riutilizzati in diverse applicazioni e problemi.
Che cos’è un package manager?
Un package manager è uno strumento che automatizza l’installazione, l’aggiornamento, la configurazione e la rimozione dei pacchetti su un computer in modo coerente.
Che cos’è pip?
pip è un package manager standard in Python.
Come puoi installare un pacchetto con pip?
Usa pip install [NameOfPackage]
Come puoi aggiornare un pacchetto con pip?
Usa pip install --upgrade [NameOfPackage]
Come puoi rimuovere un pacchetto con pip?
Usa pip uninstall [NameOfPackage]

