PIP , il gestore di pacchetti Python, viene utilizzato per installare, aggiornare, rimuovere i pacchetti scritti nel linguaggio di programmazione Python. In questa guida, discuteremo come installare pip e gestire i pacchetti python come l'installazione, l'aggiornamento e la rimozione di pacchetti usando pip. Inoltre, vedremo cos'è l'ambiente virtuale, come crearlo e come isolare i pacchetti nell'ambiente virtuale utilizzando gli strumenti venv e/o virtualenv.
Installa pip utilizzando i gestori di pacchetti
Su Arch Linux e le sue varianti come Antergos , Manjaro Linux , puoi installare pip usando il comando:
Python 2:
$ sudo pacman -S python2-pip python2-wheel python2-setuptools
Python 3:
$ sudo pacman -S python-pip python-wheel python-setuptools
Su Fedora 21:
Python 2:
$ sudo yum upgrade python-setuptools
$ sudo yum install python-pip python-wheel
Python 3:
$ sudo yum install python3 python3-wheel
Fedora 22:
Python 2:
$ sudo dnf upgrade python-setuptools
$ sudo dnf install python-pip python-wheel
Python 3:
$ sudo dnf install python3 python3-wheel
Per ottenere versioni più recenti di pip, setuptools e wheel per Python 2, abilita PyPA Copr Repo usando il comando:
$ dnf copr enable pypa/pypa
e quindi esegui:
$ sudo dnf upgrade python-setuptools
$ sudo dnf install python-pip python-wheel
Su CentOS/RHEL:
Pip and wheel non è disponibile nei repository predefiniti di CentOS e RHEL. Per installare pip su CentOS, RHEL, Scientific Linux e altri sistemi basati su RPM, abilita il repository EPEL usando il comando:
$ sudo yum install epel-release
E quindi esegui il seguente comando per installare pip:
$ sudo yum install python-pip
$ sudo yum install python-wheel
Poiché il pacchetto setup-tools è disponibile nei repository predefiniti, puoi installarlo usando il comando:
$ sudo yum upgrade python-setuptools
Python 3:
$ sudo yum install python3-pip
openSUSE:
Python 2:
$ sudo zypper install python-pip python-setuptools python-wheel
Python 3:
$ sudo zypper install python3-pip python3-setuptools python3-wheel
Debian/Ubuntu:
Per Python 2.x :
$ sudo apt-get install python-pip
Per Python 3.x:
Sostituisci "python" con "python3" per l'installazione della versione 3.x di Python.
$ sudo apt-get install python3-pip
Nella versione Ubuntu 12.04, pip3 non è stato incluso nel pacchetto. Se stai usando Ubuntu 12.04, puoi installare pip3 usando i seguenti comandi:
$ sudo apt-get install python3-setuptools
$ sudo easy_install3 pip
Installazione di pip dai binari
Se desideri installare pip dai binari, esegui semplicemente:
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
Tieni presente che get-pip.py installerà anche setuptools e wheel. Come accennato in precedenza, alcune distribuzioni Linux non hanno la ruota nei repository principali. In questi casi, potrebbe essere necessario aggiungere alcuni repository di terze parti, ad esempio EPEL.
pip è già installato se stai usando Python 2>=2.7.9 o Python 3>=3.4 binari scaricati da python.org. Tuttavia, dovrai aggiornare pip usando il comando:
$ sudo pip install -U pip
Oppure,
$ sudo pip install --upgrade pip
Per aggiornare tutto (pip, setuptools, whell), esegui:
$ sudo pip install --upgrade pip setuptools wheel
Per scoprire la versione installata di pip/pip3, esegui:
$ pip --version
Oppure,
$ pip -V
L'output di esempio sarebbe:
pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6)
Creazione di ambienti virtuali
Prima di installare qualsiasi pacchetto Python, si consiglia di creare un ambiente virtuale. Perché abbiamo bisogno di creare un ambiente virtuale? Potresti chiedere. Perché gli "ambienti virtuali" di Python ci consentono di installare un pacchetto Python in una posizione isolata, anziché installarlo a livello globale.
Diciamo che vuoi installare un pacchetto python, ad esempio youtube-dl, che richiede la versione 1 di LibFoo, ma un'altra applicazione richiede la versione 2. Come puoi utilizzare entrambe queste applicazioni? Se installi tutto in /usr/lib/python2.7/site-packages o /usr/lib/python3.6/site-packages (o qualunque sia la posizione standard della tua piattaforma), è facile finire in una situazione in cui aggiorni involontariamente un'applicazione che non dovrebbe essere aggiornata . Per evitare ciò, isoliamo i pacchetti nell'ambiente virtuale. Tutti gli ambienti virtuali hanno le proprie directory di installazione e non interagiscono né entrano in conflitto tra loro.
Possiamo creare ambienti Python isolati utilizzando due moduli, ovvero:
- venv,
- vv. virtuale
Per Python 2.x, devi installare virtualenv. Per farlo, esegui:
$ sudo pip install virtualenv
Creiamo ora un ambiente virtuale.
Utilizzo di virtualenv:
$ virtualenv <DIR_NAME>
$ source <DIR_NAME>/bin/activate
Per Python 3.x, è necessario installare venv. Sui sistemi basati su Ubuntu, puoi installarlo usando il comando:
$ sudo apt-get install python3-venv
Ora crea un ambiente virtuale usando venv:
$ python3 -m venv <DIR_NAME>
$ source <DIR_NAME>/bin/activate
Una volta eseguito il comando precedente, verrai immediatamente inserito nel tuo ambiente virtuale.
Per disattivare l'ambiente virtuale e tornare alla normale shell, esegui:
$ deactivate
Gestisci i pacchetti Python usando Pip
Ora vedremo l'utilizzo di base più comune dei pip con esempi.
Per visualizzare l'elenco di tutti i comandi pip e le opzioni generali, eseguire:
$ pip
Dovresti vedere un output simile a quello di seguito.
Per sapere cosa fa il comando di installazione, esegui:
$ pip install --help
L'uso più comune di pip è l'installazione da PyPi (Python Package Index) . PyPi è un repository che contiene tutti i pacchetti creati dalla comunità di sviluppatori in Python.
Installa pacchetti
Crea prima l'ambiente virtuale come mostrato di seguito:
Utilizzo di virtualenv:
$ virtualenv MYENV
Sostituisci MYENV con il tuo nome.
Usando venv:
$ python3 -m venv MYENV
Infine, attivalo usando il comando:
$ source MYENV/bin/activate
Una volta eseguito il comando precedente, verrai posizionato all'interno del tuo ambiente virtuale:
Ora è il momento di installare alcuni pacchetti. Per installare un pacchetto, ad esempio youtube-dl, esegui:
$ pip install youtube-dl
Questo comando installerà youtube-dl con tutte le sue dipendenze.
Per installare una versione specifica, esegui:
$ pip install youtube_dl=2017.12.14
Per installare una versione diversa da quella specificata, esegui:
$ pip install youtube_dl!=2017.12.14
Nota il '!" davanti al simbolo di uguale.
Per installare una versione uguale o superiore a quella specificata, eseguire:
$ pip install youtube_dl>=2017.12.14
Per installare una versione nell'intervallo specifico, ad esempio maggiore o uguale a una versione e minore di un'altra, eseguire:
$ pip install youtube_dl>=2017.12.14, <2017.12.20
Per installare una versione "compatibile" con una determinata versione:
$ pip install youtube_dl~=2017.12.14
Scarica pacchetti
Per scaricare un pacchetto con tutte le dipendenze (senza installarlo), eseguire:
$ pip download youtube-dl
Elenca tutti i pacchetti installati
Per trovare quali pacchetti sono stati installati da pip, esegui:
$ pip freeze
Oppure,
$ pip list
Questi comandi visualizzeranno tutti i pacchetti installati utilizzando pip nel tuo sistema.
Cerca pacchetti
Per cercare un pacchetto specifico, ad esempio youtube-dl, esegui:
$ pip search youtube-dl
Questo comando cercherà e visualizzerà il risultato che corrisponde alla stringa "youtube-dl".
Pacchetti di aggiornamento
Per elencare tutti i pacchetti obsoleti in un semplice formato di colonna tabellare, eseguire:
$ pip list --outdated --format=columns
Per aggiornare un pacchetto obsoleto, esegui:
$ pip install --upgrade youtube-dl
Possiamo anche scaricare tutti i pacchetti in un file e aggiornarli tutti in una volta. Innanzitutto, esporta tutti i file in un file:
$ pip freeze > mypackages.txt
Ora aggiorna tutti i pacchetti contemporaneamente usando il comando:
$ pip install -r mypackages.txt --upgrade
Oppure,
$ pip install -r mypackages.txt -U
Se il comando precedente non ha funzionato per qualsiasi motivo, utilizzare il comando seguente per aggiornare tutti i pacchetti contemporaneamente:
$ pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U
Esporta tutti i pacchetti installati in un file
A volte, potresti voler esportare tutti i pacchetti installati in un file per testarli in un ambiente diverso. Per farlo, esegui:
$ pip freeze > MYENV_packages.txt
Ora, disattiva l'ambiente virtuale corrente:
$ deactivate
e creane uno nuovo usando i comandi:
$ virtualenv MYENV1
Sostituisci MYENV1 con il tuo nome.
Usando venv:
$ python3 -m venv MYENV1
Attiva l'ambiente appena creato:
$ source MYENV1/bin/activate
Ora installa tutti i pacchetti che abbiamo esportato in precedenza.
$ pip install -r MYENV_packages.txt
Per installare tutto in una volta senza l'interazione dell'utente, eseguire:
$ pip install -r MYENV_packages.txt -y
Allo stesso modo, puoi rimuovere tutti i pacchetti dall'elenco usando il comando:
$ pip uninstall -r MYENV_packages.txt -y
Visualizza le informazioni sul pacchetto
Per visualizzare i dettagli di un pacchetto, eseguire:
$ pip show youtube-dl Name: youtube-dl Version: 2017.12.14 Summary: YouTube video downloader Home-page: https://github.com/rg3/youtube-dl Author: Sergey M. Author-email: [email protected] License: UNKNOWN Location: /home/sk/MYENV/lib/python3.6/site-packages Requires:
Visualizza le dipendenze del pacchetto
Possiamo visualizzare le dipendenze di tutti i pacchetti installati usando lo strumento "pipdeptree".
Installalo usando il comando:
$ pip install pipdeptree
Una volta installato, puoi visualizzare l'albero delle dipendenze usando il comando:
$ pipdeptree
Disinstalla i pacchetti
Per disinstallare/rimuovere un pacchetto installato, eseguire:
$ pip uninstall youtube-dl
Per disinstallare più pacchetti, specificali con una virgola separata come di seguito:
$ pip uninstall package1, package2
Per rimuovere tutti i pacchetti Python installati utilizzando pip, esegui:
$ pip freeze | xargs pip uninstall -y
A volte pip non ti consente di disinstallare i pacchetti di proprietà del sistema operativo. In questi casi, puoi disinstallare tutti i pacchetti che non sono di proprietà del sistema operativo usando il comando:
$ pip uninstall -y $(pip freeze | sed 's;==.*;;g' | tr '\n' ' ')
Come accennato nella sezione precedente, possiamo scaricare tutti i pacchetti installati in un file e disinstallarli dall'elenco usando il comando:
$ pip uninstall -r MYENV_packages.txt -y
A questo punto, potresti avere un'idea del pip e del suo utilizzo. Per maggiori dettagli, fai riferimento alla documentazione ufficiale e la sezione della guida di pip eseguendo il comando seguente:
$ pip --help
O semplicemente,
$ pip
Lettura consigliata:
- Pipenv - Lo strumento di packaging Python consigliato ufficialmente
- Pipx:installa ed esegui applicazioni Python in ambienti isolati
E per ora è tutto. Spero che questo sia stato utile.