
Dans pip, le système de gestion de paquets pour Python, vous pouvez vérifier la liste des paquets installés avec les commandes pip list et pip freeze.
Avec la liste pip, il est possible de sélectionner et de générer des packages de la dernière version (= à jour), des packages qui ne sont pas de la dernière version (= obsolète), des packages qui ne sont pas des dépendances d’autres packages, etc.
pip freeze est utile pour créer requirements.txt, qui est un fichier de configuration pour les packages d’installation en masse.
Cet article décrit le contenu suivant.
- Différence entre la liste de pip et le gel de pip
- Sélectionnez le format de sortie :
--format - Liste des packages mis à jour :
-u, --uptodate - Liste des packages obsolètes :
-o, --outdated - Répertoriez les packages qui ne sont pas des dépendances d’autres packages :
--not-required
Cet article ne décrit pas toutes les options ; voir la documentation officielle pour plus de détails.
Pour obtenir des informations de base sur l’utilisation de pip, telles que l’installation, la mise à niveau et la désinstallation de packages, consultez l’article suivant.
Les exemples suivants s’exécutent sur pip 18.1.
Si vous utilisez Anaconda, vous pouvez vérifier la liste des packages installés avec la liste conda.
Différence entre la liste de pip et le gel de pip
Les résultats de sortie de la liste de pip et du gel de pip dans le même environnement sont les suivants.
$ 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 différence entre la liste de pip et le gel de pip est :
- Le format de sortie
- Si le résultat inclut des packages pour la gestion des packages (par exemple, pip, wheel, outils de configuration)
Le format de sortie de la liste de pip peut différer selon la version et la configuration de pip, mais le format de sortie de gel de pip est == .
Le format de pip freeze est le format requirements.txt, qui est un fichier de configuration pour l’installation de packages en masse. Si vous créez pip freeze en tant que fichier avec > redirection et que vous l’utilisez dans un autre environnement, vous pouvez installer les mêmes packages en même temps.
$ pip freeze > requirements.txt
$ pip install -r requirements.txt
pip freeze ne génère pas de pip lui-même ni de packages pour la gestion des packages, tels que les outils de configuration et la roue. Ces packages ne sont pas nécessaires pour migrer votre environnement en utilisant les exigences .txt mentionnées ci-dessus.
Notez que si vous ajoutez l’option –all pour geler le pip, les paquets seront également générés en tant que pip.
$ pip freeze --all
future==0.16.0
pip==18.1
setuptools==39.2.0
six==1.11.0
wheel==0.31.1
Comme expliqué ci-dessous, la liste pip peut être utilisée pour sélectionner et générer les packages de la dernière version (= à jour), pas la dernière version (= obsolète), les packages qui ne sont pas des dépendances d’autres packages, etc.
Vous devez donc utiliser pip list et pip freeze comme suit :
- Si vous souhaitez vérifier une liste de packages avec plusieurs conditions, utilisez la liste pip.
- Si vous souhaitez créer requirements.txt, utilisez pip freeze.
Sélectionnez le format de sortie :--format
Dans la liste pip, vous pouvez sélectionner le format de sortie avec l’option –format.
$ pip list --format
peut être des colonnes, freeze ou json.
Dans pip 18.1, les colonnes sont la valeur par défaut. Dans les versions précédentes, vous pouviez spécifier le format hérité, mais pas dans 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"}
Liste des packages mis à jour :-u, --uptodate
pip list avec -u ou –uptodate affiche uniquement les packages qui ont été mis à jour vers la dernière version.
$ pip list -u
Package Version
------- -------
future 0.16.0
pip 18.1
six 1.11.0
Liste des packages obsolètes :-o, --outdated
pip list avec -oo –outdated génère uniquement des packages pouvant être mis à jour qui ne sont pas la dernière version.
Si le format de sortie est colonnes ou json, la version actuellement installée et la dernière version sont affichées ensemble.
$ 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"}
Si le format de sortie est gelé, seule la version actuellement installée est sortie.
$ pip list -o --format freeze
setuptools==39.2.0
wheel==0.31.1
Répertoriez les packages qui ne sont pas des dépendances d’autres packages :--not-required
pip list avec –not-required génère uniquement des packages qui ne dépendent pas d’autres packages installés.
$ 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
La sortie des packages par pip list –not-required ne rompra pas les dépendances des autres packages, même s’ils sont désinstallés. Ceci est utile pour trouver des packages qui peuvent être désinstallés dans un environnement où de nombreux packages sont installés.
Notez que seules les dépendances sont vérifiées et que les dépendances utilisées comme commandes externes, telles que pip, sont également répertoriées.
