#format wiki
#language it
<
>
<>
<>
= Introduzione =
In questa guida sono descritte le istruzioni per installare '''pip''' su Ubuntu e derivate, nonché nozioni generali sul suo utilizzo (per informazioni più specifiche si rimanda ai [[#risorse|link]] di approfondimento).
'''pip''' (acronimo di '''Pip Installs Packages''') è uno strumento a linea di comando che permette di installare software scritto in '''[[Programmazione/Python|Python]]'''.<
>
I pacchetti vengono reperiti da '''PyPI''' ('''Python Package Index'''). Quest'ultimo è un repository globale dove vengono archiviati migliaia di progetti e programmi relativi a Python, per essere quindi gestiti e organizzati in base alle versioni dei pacchetti e alle loro dipendenze.
== Consigli generali ==
'''pip''' risulta molto utile per installare facilmente svariato software basato su '''Python''', come moduli, librerie, frameworks e tanto altro (strumenti per sviluppo, ricerca scientifica, svago ecc.).
Inoltre '''pip''' può essere usato per installare alcuni programmi come alternativa alle consuete modalità di [[AmministrazioneSistema/InstallareProgrammi|installazione]] ('''apt''', '''snap''', da sorgenti ecc.). Tuttavia si consiglia tale utilizzo soltanto:
* se si ha una sufficiente esperienza con '''pip''';
* per motivi di istruzione, test o sviluppo, o comunque in sistemi non destinati alla produttività;
* in ambienti "protetti", quali [[Virtualizzazione|macchine virtuali]], Python virtual environments ecc.
* qualora il software desiderato sia disponibile soltanto tramite '''pip'''.
{{{#!wiki important
Poiché molti componenti essenziali di Ubuntu sono scritti in Python, si raccomanda di non installare e/o aggiornare tramite pip i pacchetti fondamentali del sistema. Questo perché la presenza di versioni diverse potrebbe provocare problemi di dipendenze e/o esecuzione, rendendo Ubuntu altamente instabile o non funzionante. Si raccomanda infine di non lanciare pip con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]], se non in ambienti "protetti" (come macchine virtuali, virtualenv ecc.).
}}}
= Installazione =
In Ubuntu 18.04 '''Python''' è presente sia nella versione 2.* che nella versione 3.*. Pertanto è possibile installare '''pip''' per entrambe le versioni.
== Python2 ==
0. Verificare la versione di Python installata e l'assenza di problemi digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
python2 --version
}}}
L'output sarà simile al seguente:{{{
Python 2.7.15rc1
}}}
0. In caso di assenza di errori, [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://python-pip|python-pip]].
0. Per verificare la versione di '''pip''' installata digitare:{{{
pip --version
}}}
== Python3 ==
0. Verificare la versione di Python installata e l'assenza di problemi digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
python3 --version
}}}
L'output sarà simile al seguente:{{{
Python 3.6.7
}}}
0. In caso di assenza di errori, [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://python3-pip|python3-pip]].
0. Per verificare la versione di '''pip3''' installata digitare:{{{
pip3 --version
}}}
= Utilizzo =
{{{#!wiki note
Di seguito sono riportate le funzioni principali del programma, utilizzabili sia col comando `pip` che `pip3`. Per l'utilizzo delle opzioni, del file `requirements.txt`, di wheel, delle configurazioni avanzate e altre funzionalità si rimanda a [[https://pip.pypa.io/en/latest/reference/|questa guida]].
}}}
||<:-2 #cccccc>'''Comandi principali'''||
||<40%> '''pip install''' ''nome_pacchetto'' || Installa un pacchetto desiderato. ||
|| '''pip search''' ''termine_di_ricerca'' || Cerca su '''PyPI''' i pacchetti relativi al termine di ricerca inserito. ||
|| '''pip install --upgrade''' ''nome_pacchetto'' || Aggiorna un pacchetto desiderato. ||
|| '''pip uninstall''' ''nome_pacchetto'' || Rimuove un pacchetto desiderato. ||
|| '''pip show''' ''nome_pacchetto'' || Mostra le informazioni disponibili su un pacchetto installato. ||
|| '''pip list''' || Elenca i pacchetti installati. ||
|| '''pip freeze''' || Elenca i pacchetti installati nei formati richiesti. ||
|| '''pip check''' || Controlla lo stato delle dipendenze dei pacchetti installati. ||
|| '''pip help''' || Mostra informazioni sull'uso di pip, fra cui l'elenco dei principali comandi e delle opzioni. ||
{{{#!wiki important
A differenza di apt, pip non supporta l'autocompletamento. Pertanto occorre digitare il nome esatto del pacchetto da installare, facendo attenzione ad evitare errori di battitura durante la digitazione.
}}}
Di seguito sono riportati ulteriori esempi di utilizzo:
* Installare specifiche versioni dei pacchetti:{{{
pip install nome_pacchetto==N
}}}
dove `N` sta per la versione del pacchetto, come nel seguente esempio:{{{
pip install Django==1.0.4
}}}
oppure versioni inferiori/superiori/uguali ad una specifica versione, come nel seguente esempio:{{{
pip install Django>=1.0.4
}}}
* Installare versioni in sviluppo:{{{
pip install --pre nome_pacchetto
}}}
* Installare un pacchetto salvato in locale:{{{
pip install ./Percorso/File/nome_pacchetto.tar.gz
}}}
* Mostrare in una lista incolonnata i pacchetti che hanno versioni più recenti rispetto a quelle presenti nel sistema:{{{
pip list --outdated --format columns
}}}
* Mostrare informazioni sull'utilizzo di un determinato comando:{{{
pip -h
}}}
come nel seguente esempio:{{{
pip list -h
}}}
= Aggiornamento =
{{{#!wiki important
Questa operazione è fortemente sconsigliata agli utenti poco esperti, poiché potrebbe rendere non utilizzabile pip senza opportune modifiche alle configurazioni del programma. Per lo stesso motivo è opportuno ignorare eventuali consigli di aggiornamento nell'ouput di pip, simili al seguente: `You should consider upgrading via the 'pip install --upgrade pip' command`.
}}}
Per aggiornare '''pip''' digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
pip install --upgrade pip
}}}
<>
= Ulteriori risorse =
* [[https://pip.pypa.io|Sito e documentazione ufficiali del progetto]]
* [[https://en.wikipedia.org/wiki/Pip_(package_manager)|Voce enciclopedica]]
* [[https://github.com/pypa/pip|GitHub]]
* [[https://pypi.org/|Python Package Index (PyPI)]]
* [[Programmazione/Python|Python]]
----
CategoryProgrammazione