Finden Sie veraltete / aktualisierbare Pip-Pakete

103

pip freeze zeigt mir die installierten Pakete an, aber wie überprüfe ich, welche Pakete veraltet sind?

Xster
quelle

Antworten:

159

Seit Version 1.3 bietet pip einen neuen Befehl:

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

Weitere Informationen finden Sie in diesem Beitrag .

Danilo Bargen
quelle
7

Verwenden Sie diese Gabel:

https://github.com/dgladkov/pip

Welches macht genau das, was Sie mit diesem Befehl wollen:

$ pip list --outdated
Douglas Soares de Andrade
quelle
lol, danke dsa. Wir haben beide die Gabel bereits zuvor kommentiert :)
Xster
5

Das Ding ist, ich habe nie alle Pakete aktualisieren . Ich aktualisiere nur das, was ich brauche, da das Projekt möglicherweise abbricht .

Da es keine einfache Möglichkeit gab, ein Paket für ein Paket zu aktualisieren und die Datei requirements.txt zu aktualisieren, habe ich diesen Pip-Upgrader geschrieben, der auch die Versionen in Ihrer requirements.txtDatei für die ausgewählten Pakete (oder alle Pakete) aktualisiert .

Installation

pip install pip-upgrader

Verwendungszweck

Aktivieren Sie Ihre virtuelle Version (wichtig, da auch die neuen Versionen der aktualisierten Pakete in der aktuellen virtuellen Version installiert werden).

cd in dein Projektverzeichnis und führe dann Folgendes aus:

pip-upgrade

Fortgeschrittene Nutzung

Wenn sich die Anforderungen an einem nicht standardmäßigen Ort befinden, senden Sie sie als Argumente:

pip-upgrade path/to/requirements.txt

Wenn Sie bereits wissen, welches Paket Sie aktualisieren möchten, senden Sie diese einfach als Argumente:

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

Wenn Sie ein Upgrade auf eine Vorabversion / Nachabversion durchführen müssen, fügen Sie --prereleaseIhrem Befehl ein Argument hinzu.

Vollständige Offenlegung: Ich habe dieses Paket geschrieben.

Simion Agavriloaei
quelle
1

Vielleicht helfen Ihnen Pip-Tools, die unter https://github.com/nvie/pip-tools verfügbar sind , das zu erreichen, was Sie wollen?

Ein Beispiel aus der 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
quelle
1
Es scheint, dass dieses Paket jetzt
Droplet