web-dev-qa-db-de.com

Finden Sie veraltete / aktualisierbare Pip-Pakete

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

93
Xster

Seit Version 1.3 verfügt pip über einen neuen Befehl:

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

Weitere Informationen finden Sie in diesem Beitrag .

140
Danilo Bargen

Verwenden Sie diese Gabel:

https://github.com/dgladkov/pip

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

$ pip list --outdated

Die Sache ist, ich aktualisiere nie alle Pakete . Ich aktualisiere nur das, was ich brauche , da das Projekt möglicherweise abbricht .

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

Installation

pip install pip-upgrader

Verwendung

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

cd in Ihr Projektverzeichnis und führen Sie 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 Ihrem Befehl das Argument --prerelease hinzu.

Vollständige Offenlegung: Ich habe dieses Paket geschrieben.

4

Vielleicht helfen Ihnen Pip-Tools, die unter https://github.com/nvie/pip-tools verfügbar sind, dabei, 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
...

Ähnlich wie pip list --outdated, aktualisiert jedoch eine requirements.txt-Datei:

pur -r requirements.txt

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

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

0
Alan Hamlett