Einfach bash
Skript, das sich nur auf python
selbst (ich gehe davon aus, dass es im Zusammenhang mit der Frage installiert werden sollte) und einer der curl
o wget
. Es wird davon ausgegangen, dass Sie setuptools
Paket installiert, um Versionen zu sortieren (fast immer installiert). Es ist nicht auf externe Abhängigkeiten angewiesen, wie z.B.:
jq
die möglicherweise nicht vorhanden sind;
-
grep
y awk
die sich unter Linux und macOS unterschiedlich verhalten können.
curl --silent --location https://pypi.org/pypi/requests/json | python -c "import sys, json, pkg_resources; releases = json.load(sys.stdin)['releases']; print(' '.join(sorted(releases, key=pkg_resources.parse_version)))"
Eine etwas längere Version mit Kommentaren.
Geben Sie den Paketnamen in eine Variable ein:
PACKAGE=requests
Versionen abrufen (mit curl
):
VERSIONS=$(curl --silent --location https://pypi.org/pypi/$PACKAGE/json | python -c "import sys, json, pkg_resources; releases = json.load(sys.stdin)['releases']; print(' '.join(sorted(releases, key=pkg_resources.parse_version)))")
Versionen abrufen (mit wget
):
VERSIONS=$(wget -qO- https://pypi.org/pypi/$PACKAGE/json | python -c "import sys, json, pkg_resources; releases = json.load(sys.stdin)['releases']; print(' '.join(sorted(releases, key=pkg_resources.parse_version)))")
Sortierte Versionen drucken:
echo $VERSIONS