web-dev-qa-db-fra.com

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

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

93
Xster

Depuis la version 1.3, pip propose une nouvelle commande:

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

Voir cet article pour plus d'informations.

140
Danilo Bargen

Utilisez cette pipette:

https://github.com/dgladkov/pip

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

$ pip list --outdated

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

Comme il n’existait pas de moyen facile de mettre à jour chaque paquet et de mettre à jour le fichier requirements.txt, j’ai écrit ceci pip-upgrader qui met également à jour les versions de votre fichier requirements.txt pour les packages choisis (ou tous les packages).

Installation

pip install pip-upgrader

Utilisation

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

cd dans le répertoire de votre 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 effectuer une mise à niveau vers une version préliminaire ou postérieure, ajoutez l'argument --prerelease à votre commande.

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

4
Simion Agavriloaei

Pip-tools, disponible sur https://github.com/nvie/pip-tools , pourrait 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
...
1

Similaire à pip list --outdated mais met à jour un fichier requirements.txt:

pur -r requirements.txt

PyPi: https://pypi.python.org/pypi/pur

GitHub: https://github.com/alanhamlett/pip-update-requirements

0
Alan Hamlett