Dimensione: 3852
Commento:
|
Dimensione: 8838
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 6: | Linea 6: |
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=642430&p=5223149";rilasci="18.04 20.04 22.04")>> | <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=631491"; rilasci="23.04 22.04")>> |
Linea 10: | Linea 10: |
Di seguito è esposto l'utilizzo di '''e4defrag''', strumento per deframmentare filesystem ext4. | 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). |
Linea 12: | Linea 12: |
Rispetto ai filesystem in uso con i sistemi Microsoft, quelli per GNU/Linux (ext2/3/4, ZFS, btrfs, ecc.) usano sistemi di allocazione "intelligenti" per evitare un'eccessiva frammentazione dei file.<<BR>> Tuttavia potrebbe risultare necessario deframmentare il filesystem in alcuni casi, ad esempio qualora lo spazio disponibile in una partizione sia limitato. |
'''pip''' (acronimo di '''Pip Installs Packages''') è uno strumento a linea di comando che permette di installare software scritto in '''[[Programmazione/Python|Python]]'''.<<BR>> 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. == Avvertenze == '''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 utilizzare pip a livello di sistema è __altamente sconsigliato__. Questo perché, essendo molti programmi di Ubuntu scritti in Python (fra cui componenti essenziali del sistema), l'eventuale presenza di versioni diverse potrebbe provocare problemi di dipendenze e/o esecuzione, rendendo Ubuntu altamente instabile o non funzionante. Si consiglia quindi questo utilizzo di pip soltanto in ambienti "protetti", quali: * [[#venv|Python virtual environments]] * [[Virtualizzazione|macchine virtuali]] * sistemi/macchine dedicate, non destinate alla produttività, ma per scopi di istruzione, test o sviluppo, ecc. {{{#!wiki note In Ubuntu 23.04 non sono consentite installazioni di pacchetti Python a livello di sistema. Per maggiori informazioni si veda questo [[#problemi|paragrafo]]. }}} {{{#!wiki tip Spesso alcuni pacchetti di cui si potrebbe aver bisogno sono disponibili nei [[Repository|repository]] di Ubuntu. Si consiglia pertanto di effettuare prima di tutto una [[AmministrazioneSistema/InstallareProgrammi/Apt#Altre_operazioni|ricerca]] tramite '''apt'''. }}} |
Linea 16: | Linea 35: |
__Non__ è necessario deframmentare se in uso un drive SSD. Inoltre ripetute deframmentazioni nel lungo periodo potrebbero danneggiare il dispositivo. | Evitare di lanciare pip con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]]. |
Linea 18: | Linea 37: |
<<Anchor(venv)>> = Creazione di un ambiente virtuale = Per creare un ambiente virtuale, procedere come descritto di seguito. 0. Per aggiungere il modulo `venv`, [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://python3-venv|python3-venv]]. 0. Per creare una cartella di destinazione digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ python3 -m venv nome_della_directory }}} sostituendo `nome_della_directory` con il nome desiderato. 0. Attivare l'ambiente virtuale con il comando:{{{ source nome_della_directory/bin/activate }}} sostituendo `nome_della_directory` con il nome desiderato. Una volta attivato, la shell in uso punterà alla cartella creata. Se ad esempio si crea la cartella `il_mio_progetto` verrà restituito un output simile al seguente:{{{ (il_mio_progetto) $ }}} Sarà quindi possibile installare e aggiornare pacchetti utilizzando '''pip'''. |
|
Linea 21: | Linea 61: |
Lo strumento è preinstallato in Ubuntu. | 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.10.6 }}} 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 }}} {{{#!wiki note È disponibile per l'installazione anche il pacchetto ''python-pip'', di riferimento per Python2. Si raccomanda tuttavia l'utilizzo della versione 3, poiché per la versione precedente non sono garantiti aggiornamenti di sicurezza (per maggiori informazioni consultare [[Programmazione/Python#Versioni_Python_2_e_3|questa pagina]]).<<BR>> In caso di utilizzo di pip con Python 2, tutti i comandi vanno eseguiti digitando `pip` al posto di `pip3`. }}} |
Linea 25: | Linea 79: |
||<:-2 #cccccc>'''Comandi principali'''|| ||<40%> '''pip3 install''' ''nome_pacchetto'' || Installa un pacchetto desiderato. || || '''pip3 search''' ''termine_di_ricerca'' || Cerca su '''PyPI''' i pacchetti relativi al termine di ricerca inserito. || || '''pip3 install --upgrade''' ''nome_pacchetto'' || Aggiorna un pacchetto desiderato. || || '''pip3 uninstall''' ''nome_pacchetto'' || Rimuove un pacchetto desiderato. || || '''pip3 show''' ''nome_pacchetto'' || Mostra le informazioni disponibili su un pacchetto installato. || || '''pip3 list''' || Elenca i pacchetti installati. || || '''pip3 freeze''' || Elenca i pacchetti installati nei formati richiesti. || || '''pip3 check''' || Controlla lo stato delle dipendenze dei pacchetti installati. || || '''pip3 help''' || Mostra informazioni sull'uso di pip, fra cui l'elenco dei principali comandi e delle opzioni. || |
|
Linea 26: | Linea 91: |
Qualora si debba deframmentare un disco esterno, [[Hardware/DispositiviPartizioni/IndividuarePartizioni|individuare]] il dispositivo.<<BR>> '''e4defrag''' può essere eseguito "online" (ossia con il sistema operativo avviato e in funzione). Per una maggiore sicurezza è possibile anche usarlo in sessione "live", eseguendo inoltre un backup dei dati.<<BR>> La durata della deframmentazione potrebbe durare a lungo, a seconda di diverse variabili (numero e posizione dei file frammentati, dimensioni della partizione, velocità del disco, prestazioni del PC ecc.). |
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]]. |
Linea 31: | Linea 94: |
L'utilizzo è molto semplice e prevede la seguente sintassi:{{{ sudo e4defrag [opzione] /percorso/della/directory |
{{{#!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. |
Linea 35: | Linea 98: |
Le opzioni sono solo due: * '''-c''': compie soltanto un'analisi della partizione, indicando quanti e quali file sono frammentati e se è necessario deframmentare. * '''-v''': mostra il conteggio dei file deframmentati ed eventuali errori. |
Di seguito sono riportati ulteriori esempi di utilizzo: |
Linea 39: | Linea 100: |
= Esempi di utilizzo = A seconda delle proprie necessità digitare nel [[AmministrazioneSistema/Terminale|terminale]] uno o più comandi fra quelli seguenti, modificandoli se necessario. * Per rilevare e visualizzare la quantità di file frammentati nell'intero sistema:{{{ sudo e4defrag -c / |
* Installare specifiche versioni dei pacchetti:{{{ pip3 install nome_pacchetto==N |
Linea 46: | Linea 103: |
Il risultato sarà simile al seguente:{{{ e4defrag 1.45.5 (07-Jan-2020) <Fragmented files> now/best size/ext 1. /var/log/wtmp 20/1 4 KB 2. /var/log/wtmp.1 4/1 4 KB 3. /root/.cache/mesa_shader_cache/index 118/1 5 KB 4. /var/log/auth.log.2.gz 3/1 4 KB 5. /var/lib/fwupd/pending.db 5/1 5 KB Total/best extents 180442/178752 Average size per extent 70 KB Fragmentation score 0 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag] This directory (/) does not need defragmentation. Done. |
dove `N` sta per la versione del pacchetto, come nel seguente esempio:{{{ pip3 install Django==4.1.7 |
Linea 62: | Linea 106: |
Come indicato nell'output, in questo caso non è necessario eseguire la deframmentazione (`score` inferiore a 30). * Per deframmentare un intero sistema installato su un'unica partizione:{{{ sudo e4defrag -v / |
oppure versioni inferiori/superiori/uguali ad una specifica versione, come nel seguente esempio:{{{ pip3 install Django>=4.1.1 }}} * Installare versioni in sviluppo:{{{ pip3 install --pre nome_pacchetto }}} * Installare un pacchetto salvato in locale:{{{ pip3 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:{{{ pip3 list --outdated --format columns }}} * Mostrare informazioni sull'utilizzo di un determinato comando:{{{ pip3 <comando> -h }}} come nel seguente esempio:{{{ pip3 list -h |
Linea 68: | Linea 125: |
* Per deframmentare la partizione `/dev/sda3`:{{{ sudo e4defrag -v /dev/sda3 |
= 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`. |
Linea 72: | Linea 131: |
* Per deframmentare tutte le partizioni del disco interno:{{{ sudo e4defrag -v /dev/sda* |
Per aggiornare '''pip''' digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{ pip3 install --upgrade pip |
Linea 76: | Linea 135: |
* Per deframmentare una partizione [[Hardware/DispositiviPartizioni/SpostareHomePartizioneSeparata|/home separata]]:{{{ sudo e4defrag -v /home }}} |
<<Anchor(problemi)>> = Soluzione dei problemi = |
Linea 80: | Linea 138: |
* Per deframmentare la partizione `/dev/sdb1` su disco esterno:{{{ sudo e4defrag -v /dev/sdb1 }}} |
== error: externally managed environment (Ubuntu 23.04) == |
Linea 84: | Linea 140: |
A partire da Ubuntu 23.04 l'ambiente base di Python viene considerato ''externally managed'', quindi non consente installazioni a livello utente e/o di sistema. Per maggiori informazioni consultare [[https://peps.python.org/pep-0668/|questa pagina]]. È possibile risolvere questo problema adottando le procedure raccomandate, quali: * [[#venv|creazione di un ambiente virtuale]]. * utilizzo di '''pipx''': è uno strumento alternativo a '''pip''' che permette di installare ed eseguire applicazioni Python in ''isolated environments'', garantendo una certa sicurezza. '''pipx''' infatti crea automaticamente un ambiente virtuale per ogni applicazione installata, generando contestualmente un collegamento nella cartella `.local/bin` dell'utente (quindi non a livello di sistema). Per utilizzare lo strumento [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://pipx|pipx]]. Per il suo utilizzo consultare la [[https://pypa.github.io/pipx/docs/|documentazione]] del progetto. <<Anchor(risorse)>> |
|
Linea 85: | Linea 148: |
* [[https://it.wikipedia.org/wiki/Deframmentazione|Deframmentazione]] (pagina enciclopedica) |
* [[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)]] * [[https://pypa.github.io/pipx/|pipx]] * [[Programmazione/Python|Python]] |
Linea 89: | Linea 157: |
##CategoryInstallazioneSistema CategoryAmministrazione | ##CategoryProgrammazione |
Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento. |
Guida verificata con Ubuntu: 22.04
Problemi in questa pagina? Segnalali in questa discussione
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 link di approfondimento).
pip (acronimo di Pip Installs Packages) è uno strumento a linea di comando che permette di installare software scritto in 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.
Avvertenze
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 installazione (apt, snap, da sorgenti ecc.). Tuttavia utilizzare pip a livello di sistema è altamente sconsigliato. Questo perché, essendo molti programmi di Ubuntu scritti in Python (fra cui componenti essenziali del sistema), l'eventuale presenza di versioni diverse potrebbe provocare problemi di dipendenze e/o esecuzione, rendendo Ubuntu altamente instabile o non funzionante.
Si consiglia quindi questo utilizzo di pip soltanto in ambienti "protetti", quali:
- sistemi/macchine dedicate, non destinate alla produttività, ma per scopi di istruzione, test o sviluppo, ecc.
In Ubuntu 23.04 non sono consentite installazioni di pacchetti Python a livello di sistema. Per maggiori informazioni si veda questo paragrafo.
Spesso alcuni pacchetti di cui si potrebbe aver bisogno sono disponibili nei repository di Ubuntu. Si consiglia pertanto di effettuare prima di tutto una ricerca tramite apt.
Evitare di lanciare pip con i privilegi di amministrazione.
Creazione di un ambiente virtuale
Per creare un ambiente virtuale, procedere come descritto di seguito.
Per aggiungere il modulo venv, installare il pacchetto python3-venv.
Per creare una cartella di destinazione digitare nel terminale:
python3 -m venv nome_della_directory
sostituendo nome_della_directory con il nome desiderato.
Attivare l'ambiente virtuale con il comando:
source nome_della_directory/bin/activate
sostituendo nome_della_directory con il nome desiderato.
Una volta attivato, la shell in uso punterà alla cartella creata. Se ad esempio si crea la cartella il_mio_progetto verrà restituito un output simile al seguente:
(il_mio_progetto) $
Sarà quindi possibile installare e aggiornare pacchetti utilizzando pip.
Installazione
Verificare la versione di Python installata e l'assenza di problemi digitando nel terminale:
python3 --version
L'output sarà simile al seguente:
Python 3.10.6
In caso di assenza di errori, installare il pacchetto python3-pip.
Per verificare la versione di pip3 installata digitare:
pip3 --version
È disponibile per l'installazione anche il pacchetto python-pip, di riferimento per Python2. Si raccomanda tuttavia l'utilizzo della versione 3, poiché per la versione precedente non sono garantiti aggiornamenti di sicurezza (per maggiori informazioni consultare questa pagina).
In caso di utilizzo di pip con Python 2, tutti i comandi vanno eseguiti digitando pip al posto di pip3.
Utilizzo
Comandi principali |
|
pip3 install nome_pacchetto |
Installa un pacchetto desiderato. |
pip3 search termine_di_ricerca |
Cerca su PyPI i pacchetti relativi al termine di ricerca inserito. |
pip3 install --upgrade nome_pacchetto |
Aggiorna un pacchetto desiderato. |
pip3 uninstall nome_pacchetto |
Rimuove un pacchetto desiderato. |
pip3 show nome_pacchetto |
Mostra le informazioni disponibili su un pacchetto installato. |
pip3 list |
Elenca i pacchetti installati. |
pip3 freeze |
Elenca i pacchetti installati nei formati richiesti. |
pip3 check |
Controlla lo stato delle dipendenze dei pacchetti installati. |
pip3 help |
Mostra informazioni sull'uso di pip, fra cui l'elenco dei principali comandi e delle opzioni. |
Per l'utilizzo delle opzioni, del file requirements.txt, di wheel, delle configurazioni avanzate e altre funzionalità si rimanda a questa guida.
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:
pip3 install nome_pacchetto==N
dove N sta per la versione del pacchetto, come nel seguente esempio:
pip3 install Django==4.1.7
oppure versioni inferiori/superiori/uguali ad una specifica versione, come nel seguente esempio:
pip3 install Django>=4.1.1
Installare versioni in sviluppo:
pip3 install --pre nome_pacchetto
Installare un pacchetto salvato in locale:
pip3 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:
pip3 list --outdated --format columns
Mostrare informazioni sull'utilizzo di un determinato comando:
pip3 <comando> -h
come nel seguente esempio:
pip3 list -h
Aggiornamento
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 terminale il comando:
pip3 install --upgrade pip
Soluzione dei problemi
error: externally managed environment (Ubuntu 23.04)
A partire da Ubuntu 23.04 l'ambiente base di Python viene considerato externally managed, quindi non consente installazioni a livello utente e/o di sistema. Per maggiori informazioni consultare questa pagina.
È possibile risolvere questo problema adottando le procedure raccomandate, quali:
utilizzo di pipx: è uno strumento alternativo a pip che permette di installare ed eseguire applicazioni Python in isolated environments, garantendo una certa sicurezza. pipx infatti crea automaticamente un ambiente virtuale per ogni applicazione installata, generando contestualmente un collegamento nella cartella .local/bin dell'utente (quindi non a livello di sistema). Per utilizzare lo strumento installare il pacchetto pipx. Per il suo utilizzo consultare la documentazione del progetto.
Ulteriori risorse