Trouver des paquets pip obsolètes / pouvant être mis à jour

104

pip freeze me montre les paquets installés, mais comment puis-je vérifier quels sont ceux qui sont obsolètes avec pypi?

Xster
la source

Réponses:

160

Depuis la version 1.3, pip propose une nouvelle commande:

$ pip list --outdated
requests (Current: 1.1.0 Latest: 1.2.0)

Voir ce post pour plus d'informations.

Danilo Bargen
la source
7

Utilisez cette fourchette à pipette:

https://github.com/dgladkov/pip

Ce qui fait exactement ce que vous voulez en utilisant cette commande:

$ pip list --outdated
Douglas Soares de Andrade
la source
lol, merci dsa. Nous avions déjà tous les deux commenté la fourche avant :)
Xster
6

Le fait est que je ne mets jamais à jour tous les paquets . Je ne mets à niveau que ce dont j'ai besoin, car le projet peut échouer .

Parce qu'il n'y avait aucun moyen facile pour la mise à niveau paquet par paquet, et mettre à jour le fichier requirements.txt, je l' ai écrit ce pip-upgrader qui met également à jour les versions dans votre requirements.txtfichier pour les packages choisis (ou tous les forfaits).

Installation

pip install pip-upgrader

Usage

Activez votre virtualenv (important, car il installera également les nouvelles versions des packages mis à niveau dans le virtualenv actuel).

cd dans votre répertoire de projet, puis exécutez:

pip-upgrade

Utilisation avancée

Si les exigences sont placées dans un emplacement non standard, envoyez-les sous forme d'arguments:

pip-upgrade path/to/requirements.txt

Si vous savez déjà quel paquet vous voulez mettre à jour, envoyez-les simplement comme arguments:

pip-upgrade -p django -p celery -p dateutil

Si vous devez mettre à niveau vers une version pré-version / post-version, ajoutez un --prereleaseargument à votre commande.

Divulgation complète: j'ai écrit ce paquet.

Simion Agavriloaei
la source
1

Pip-tools, disponible sur https://github.com/nvie/pip-tools , pourrait peut-être vous aider à réaliser ce que vous voulez?

Un exemple tiré du fichier README:

$ pip-review --interactive
requests==0.14.0 available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...
redis==2.6.2 available (you have 2.4.9)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit n
rq==0.3.2 available (you have 0.3.0)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...
Martin Thorsen Ranang
la source
1
Il semble que ce paquet ait maintenant été déplacé vers github.com/jgonggrijp/pip-review
Droplet