
In pip, il sistema di gestione dei pacchetti per Python, puoi controllare l’elenco dei pacchetti installati con i comandi pip list e pip freeze.
Con la pip list dei pacchetti è possibile selezionare e generare pacchetti della versione più recente (= aggiornata), pacchetti della versione non più recente (= non aggiornata), pacchetti che non sono dipendenti da altri, eccetera.
pip freeze è utile per creare requisiti.txt, che è un file di configurazione per l’installazione in blocco dei pacchetti.
In questo articolo vengono descritti i seguenti contenuti.
- Differenza tra lista pip e blocco pip
- Seleziona il formato di output:
--format
- Elenco dei pacchetti aggiornati:
-u, --uptodate
- Elenco dei pacchetti obsoleti:
-o, --outdated
- Elenca i pacchetti che non sono dipendenti da altri pacchetti:
--not-required
Questo articolo non descrive tutte le opzioni; vedere la documentazione ufficiale per maggiori dettagli.
Per informazioni di base su come utilizzare pip, ad esempio l’installazione, l’aggiornamento e la disinstallazione di pacchetti, vedere l’articolo seguente.
Gli esempi seguenti vengono eseguiti su pip 18.1.
Se stai usando Anaconda, puoi controllare l’elenco dei pacchetti installati con l’elenco conda.
Differenza tra lista pip e blocco pip
I risultati di output di pip list e pip freeze nello stesso ambiente sono i seguenti.
$ pip list
Package Version
---------- -------
future 0.16.0
pip 18.1
setuptools 39.2.0
six 1.11.0
wheel 0.31.1
$ pip freeze
future==0.16.0
six==1.11.0
La differenza tra pip list e pip freeze è:
- Il formato di uscita
- Se il risultato include pacchetti per la gestione dei pacchetti (ad es. pip, wheel, strumenti di configurazione)
Il formato di output dell’elenco pip può variare a seconda della versione e della configurazione del pip, ma il formato di output del blocco pip è == .
Il formato di pip freeze è il formato di Requirements.txt, che è un file di configurazione per l’installazione di pacchetti in blocco. Se crei pip freeze come file con > reindirizzamento e lo usi in un altro ambiente, puoi utilizzare gli stessi pacchetti contemporaneamente.
$ pip freeze > requirements.txt
$ pip install -r requirements.txt
pip freeze non generi pip stesso o pacchetti per la gestione dei pacchetti, come gli strumenti di configurazione e la ruota. Questi pacchetti non sono necessari per migrare l’ambiente utilizzando i requisiti .txt sopra menzionati.
Nota che aggiungi l’opzione –all per bloccare pip, anche i pacchetti verranno generati come pip.
$ pip freeze --all
future==0.16.0
pip==18.1
setuptools==39.2.0
six==1.11.0
wheel==0.31.1
Come spiegato di seguito, l’elenco dei pip essere utilizzato per selezionare e generare pacchetti della versione più recente (=aggiornata), non della versione più recente (=non aggiornato), pacchetti che non sono dipendenti da altri pacchetti, ecc.
Quindi è necessario utilizzare pip list e pip freeze come segue:
- Se vuoi controllare un elenco di pacchetti con più condizioni, usa l’elenco pip.
- Se vuoi creare requisiti.txt, usa pip freeze.
Seleziona il formato di output:--format
Nell’elenco dei pip, puoi selezionare il formato di output con l’opzione –format.
$ pip list --format
possono essere colonne, freeze o json.
In pip 18.1, le colonne sono l’impostazione predefinita. Nelle versioni precedenti è possibile specificare il formato legacy, ma non in 18.1.
$ pip list --format columns
Package Version
---------- -------
future 0.16.0
pip 18.1
setuptools 39.2.0
six 1.11.0
wheel 0.31.1
$ pip list --format freeze
future==0.16.0
pip==18.1
setuptools==39.2.0
six==1.11.0
wheel==0.31.1
$ pip list --format json
{"version": "0.16.0", "name": "future"}, {"version": "18.1", "name": "pip"}, {"version": "39.2.0", "name": "setuptools"}, {"version": "1.11.0", "name": "six"}, {"version": "0.31.1", "name": "wheel"}
Elenco dei pacchetti aggiornati:-u, --uptodate
pip list -uo –uptodate arriva con solo i pacchetti che sono stati aggiornati all’ultima versione.
$ pip list -u
Package Version
------- -------
future 0.16.0
pip 18.1
six 1.11.0
Elenco dei pacchetti obsoleti:-o, --outdated
pip list con -oo –outdated genera solo pacchetti aggiornabili che non sono l’ultima versione.
Se il formato di output è colonne o json, la versione attualmente installata e l’ultima versione vengono visualizzate insieme.
$ pip list -o
Package Version Latest Type
---------- ------- ------ -----
setuptools 39.2.0 40.4.3 wheel
wheel 0.31.1 0.32.1 wheel
$ pip list -o --format json
{"latest_filetype": "wheel", "version": "39.2.0", "name": "setuptools", "latest_version": "40.4.3"}, {"latest_filetype": "wheel", "version": "0.31.1", "name": "wheel", "latest_version": "0.32.1"}
Se il formato di output è bloccato, viene emessa solo la versione attualmente installata.
$ pip list -o --format freeze
setuptools==39.2.0
wheel==0.31.1
Elenca i pacchetti che non sono dipendenti da altri pacchetti:--not-required
pip list con –not-required genera solo pacchetti che non contengono altri pacchetti installati.
$ pip list --not-required
Package Version
---------- -------
future 0.16.0
pip 18.1
setuptools 39.2.0
six 1.11.0
wheel 0.31.1
L’output pacchetti di tramite elenco pip –not-required non interromperà le dipendenze di altri, anche se sono disinstallati. Ciò è utile per trovare pacchetti che possono essere disinstallati in un ambiente in cui sono installati molti pacchetti.
Si noti che vengono controllate solo le dipendenze e vengono elencate anche le dipendenze utilizzate come comandi esterni, come pip.