867 Stimmen

Python und pip, alle Versionen eines Pakets auflisten, das verfügbar ist?

Mit dem Namen eines Python-Pakets, das mit pip Gibt es eine Möglichkeit, eine Liste aller möglichen Versionen herauszufinden, die pip installieren kann? Im Moment ist es Versuch und Irrtum.

Ich versuche, eine Version für eine Bibliothek eines Drittanbieters zu installieren, aber die neueste Version ist zu neu, es wurden rückwärts inkompatible Änderungen vorgenommen. Ich möchte also irgendwie eine Liste aller Versionen haben, die pip kennt, damit ich sie testen kann.

11voto

Vincenzo Lavorini Punkte 1620

Update :

Vielleicht wird die Lösung nicht mehr benötigt, siehe Kommentare zu dieser Antwort.

Original-Antwort

Bei Pip-Versionen über 20.03 können Sie den alten Solver verwenden, um alle verfügbaren Versionen zurückzubekommen:

$ pip install  --use-deprecated=legacy-resolver pylibmc==
ERROR: Could not find a version that satisfies the requirement pylibmc== (from    
versions: 0.2, 0.3, 0.4, 0.5, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.6, 0.6.1,
0.7, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.8, 0.8.1, 0.8.2, 0.9, 0.9.1, 0.9.2, 1.0a0, 
1.0b0, 1.0, 1.1, 1.1.1, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.3.0, 1.4.0, 1.4.1, 
1.4.2, 1.4.3, 1.5.0, 1.5.1, 1.5.2, 1.5.100.dev0, 1.6.0, 1.6.1)

ERROR: No matching distribution found for pylibmc==

10voto

grandma Punkte 263

Das funktioniert bei mir unter OSX:

pip install docker-compose== 2>&1 \
| grep -oE '(\(.*\))' \
| awk -F:\  '{print$NF}' \
| sed -E 's/( |\))//g' \
| tr ',' '\n'

Sie gibt die Liste pro Zeile zurück:

1.1.0rc1
1.1.0rc2
1.1.0
1.2.0rc1
1.2.0rc2
1.2.0rc3
1.2.0rc4
1.2.0
1.3.0rc1
1.3.0rc2
1.3.0rc3
1.3.0
1.3.1
1.3.2
1.3.3
1.4.0rc1
1.4.0rc2
1.4.0rc3
1.4.0
1.4.1
1.4.2
1.5.0rc1
1.5.0rc2
1.5.0rc3
1.5.0
1.5.1
1.5.2
1.6.0rc1
1.6.0
1.6.1
1.6.2
1.7.0rc1
1.7.0rc2
1.7.0
1.7.1
1.8.0rc1
1.8.0rc2
1.8.0
1.8.1
1.9.0rc1
1.9.0rc2
1.9.0rc3
1.9.0rc4
1.9.0
1.10.0rc1
1.10.0rc2
1.10.0

Oder um die neueste verfügbare Version zu erhalten:

pip install docker-compose== 2>&1 \
| grep -oE '(\(.*\))' \
| awk -F:\  '{print$NF}' \
| sed -E 's/( |\))//g' \
| tr ',' '\n' \
| gsort -r -V \
| head -1

1.10.0rc2

Bitte beachten Sie gsort muss (unter OSX) installiert sein, um die Versionen zu analysieren. Sie können es installieren mit brew install coreutils

9voto

laktak Punkte 52075

Le site pypi-version Paket leistet eine hervorragende Arbeit:

$ pip3 install pip-versions

$ pip-versions latest rsyncy
0.0.4

$ pip-versions list rsyncy
0.0.1
0.0.2
0.0.3
0.0.4

Und das funktioniert sogar hinter einem Nexus (sonatype) Proxy!

9voto

Tejas Sarade Punkte 971

Normalerweise laufe ich pip install packagename==somerandomstring . Dies gibt einen Fehler zurück, der besagt Could not find a version that satisfies the requirement packagename==somerandomstring und zusammen mit diesem Fehler listet pip auch die verfügbaren Versionen auf dem Server auf.

z.B..

$ pip install flask==aksjflashd
Collecting flask==aksjflashd
  Could not find a version that satisfies the requirement flask==aksjflashd 
(from versions: 0.1, 0.2, 0.3, 0.3.1, 0.4, 0.5, 0.5.1, 0.5.2, 0.6, 0.6.1, 0.7, 0.7.1, 0.7.2, 0.8, 0.8.1, 0.9, 0.10, 0.10.1, 0.11, 0.11.1, 0.12, 0.12.1, 
0.12.2, 0.12.3, 0.12.4, 0.12.5, 1.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0, 1.1.1, 1.1.2)
No matching distribution found for flask==aksjflashd
$

Man muss schon sehr viel Pech haben, wenn sich eine zufällige Zeichenfolge wie 'aksjflashd' als tatsächliche Paketversion herausstellt!

Natürlich können Sie diesen Trick auch mit pip download también.

7voto

m0she Punkte 436

https://pypi.python.org/pypi/Django/ - funktioniert für Pakete, deren Betreuer sich dafür entscheiden, alle Pakete anzuzeigen https://pypi.python.org/simple/pip/ - sollte es auf jeden Fall funktionieren (listet alle Links auf)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X