Installieren einer bestimmten Paketversion mit Pip

Lesezeit: 2 Minuten

Benutzer-Avatar
Jo

Ich versuche, Version 1.2.2 von zu installieren MySQL_pythonunter Verwendung einer neuen virtuellen Umgebung, die mit der erstellt wurde --no-site-packages Möglichkeit. Die aktuelle Version, die in PyPi angezeigt wird, ist 1.2.3. Gibt es eine Möglichkeit die ältere Version zu installieren? Ich habe versucht:

pip install MySQL_python==1.2.2

Wenn es installiert ist, wird es jedoch immer noch angezeigt MySQL_python-1.2.3-py2.6.egg-info in den Site-Paketen. Ist das ein spezifisches Problem dieses Pakets oder mache ich etwas falsch?

  • Danke für den Hinweis, das hat bei mir funktioniert, um eine ältere Version von openpyxl via zu installieren pip install MySQL_python==1.8.9

    – Tim

    9. Juni 2014 um 11:57 Uhr

Benutzer-Avatar
Mahmud Abdelkader

TL;DR:

  • pip install -Iv (dh pip install -Iv MySQL_python==1.2.2)

Was diese Optionen bedeuten:

  • -I steht für --ignore-installed Dadurch werden die installierten Pakete ignoriert und überschrieben.
  • -v ist für ausführlich. Sie können für noch mehr Ausführlichkeit kombinieren (z -vv) bis zu 3 Mal (zB -Ivvv).

Weitere Informationen finden Sie unter pip install --help

Erstens sehe ich zwei Probleme mit dem, was Sie zu tun versuchen. Da Sie bereits eine installierte Version haben, sollten Sie entweder den aktuell vorhandenen Treiber deinstallieren oder verwenden pip install -I MySQL_python==1.2.2

Sie werden jedoch bald feststellen, dass dies nicht funktioniert. Wenn Sie sich das Installationsprotokoll von pip ansehen oder wenn Sie eine pip install -Iv MySQL_python==1.2.2 Sie werden feststellen, dass der PyPI-URL-Link für MySQL_python v1.2.2 nicht funktioniert. Sie können dies hier überprüfen: http://pypi.python.org/pypi/MySQL-python/1.2.2

Der Download-Link 404 und die Fallback-URL-Links werden aufgrund des kürzlichen Upgrades von sourceforge.net und der veralteten URL von PyPI unendlich umgeleitet.

Um den Treiber ordnungsgemäß zu installieren, können Sie die folgenden Schritte ausführen:

pip uninstall MySQL_python
pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download

  • Es sollte jedoch kein Problem sein, mehrere Versionen zu haben, das ist der Punkt, um neue Ordner für jede Version zu erstellen und .pth-Dateien zu verwenden.

    – Jochen Ritzel

    7. März 2011 um 23:26 Uhr

  • Neugierig, warum Sie die Option -I verwenden, wenn wir die vorhandene Installation bereits entfernt haben – könnten Sie dazu einige Details geben?

    – Jo

    11. September 2018 um 9:37 Uhr

  • Die Verwendung von TL; DR in diesem Beitrag wird im Meta diskutiert.

    – Andreas T.

    3. April um 18:05 Uhr

Benutzer-Avatar
Benutzer1978556

Sie können sogar einen Versionsbereich mit verwenden pip install Befehl. Etwas wie das:

pip install 'stevedore>=1.3.0,<1.4.0'

Und wenn das Paket bereits installiert ist und Sie es herunterstufen möchten, fügen Sie es hinzu --force-reinstall so was:

pip install 'stevedore>=1.3.0,<1.4.0' --force-reinstall

  • zum Beispiel: $ pip install 'xkcdpass==1.2.5' --force-reinstall

    – jschank

    8. Januar 2016 um 18:10 Uhr


  • Verwenden Sie unter Windows doppelte Anführungszeichen: pip install “stevedore>=1.3.0,<1.4.0"

    – jmng

    17. September 2018 um 13:40 Uhr

Benutzer-Avatar
Srikar Appalaraju

Eine Möglichkeit, wie in diesem Beitrag vorgeschlagen, besteht darin, Version in zu erwähnen pip wie:

pip install -Iv MySQL_python==1.2.2

dh verwenden == und geben Sie die Versionsnummer an, um nur diese Version zu installieren. -I, --ignore-installed ignoriert bereits installierte Pakete.

  • In acht nehmen! Ich hatte die Erfahrung, dass dadurch die verschiedenen Versionen installiert wurden nebeneinander! Interessanterweise auch pip list war mir dessen nicht bewusst, aber conda list war (und würde die verschiedenen Paketversionen anzeigen). Es ist auch völlig verwirrt Pycharm.

    – Lionel Trebuchon

    5. März 2019 um 15:58 Uhr

So installieren Sie eine bestimmte Python-Paketversion, unabhängig davon, ob es sich um das erste Mal, ein Upgrade oder ein Downgrade handelt:

pip install --force-reinstall MySQL_python==1.2.4

MySQL_python Version 1.2.2 ist nicht verfügbar, daher habe ich eine andere Version verwendet. Um alle verfügbaren Paketversionen aus einem Index anzuzeigen, schließen Sie die Version aus:

pip install MySQL_python==

Ich glaube, wenn Sie bereits ein Paket installiert haben, wird Pip es nicht mit einer anderen Version überschreiben. Verwenden -I frühere Versionen zu ignorieren.

  • Ich habe es nicht installiert – mit einer neuen virtuellen Umgebung, die mit der Option –no-site-packages erstellt wurde

    – Jo

    7. März 2011 um 23:14 Uhr

  • Okay, Sie fragen also nach Version 1.2.2 und es wird immer noch 1.2.3 installiert, und es wurde nichts anderes installiert? Die von Ihnen verwendete Syntax ist korrekt, um bestimmte Versionen abzurufen.

    – dapawit

    7. März 2011 um 23:15 Uhr


  • “unter Verwendung einer neuen virtuellen Umgebung, die mit der Option –no-site-packages erstellt wurde”; Möglicherweise müssen Sie dies mit dem Befehl voranstellen unset PYTHONPATH also zu halten pip daran hindern, Ihre vorinstallierten Bibliotheken zu sehen

    – Benutzer5359531

    29. September 2017 um 15:16 Uhr

  • No such option: -I

    – Nick.McDermaid

    16. Dezember 2020 um 6:04 Uhr


Benutzer-Avatar
Jack Chan

Manchmal wird die zuvor installierte Version zwischengespeichert.

~$ pip install pillow==5.2.0

Es gibt Folgendes zurück:
Voraussetzung bereits erfüllt: Pillow==5.2.0 in /home/ubuntu/anaconda3/lib/python3.6/site-packages (5.2.0)

Wir können –no-cache-dir zusammen mit -I verwenden, um dies zu überschreiben

~$ pip install --no-cache-dir -I pillow==5.2.0

  • Ich habe es nicht installiert – mit einer neuen virtuellen Umgebung, die mit der Option –no-site-packages erstellt wurde

    – Jo

    7. März 2011 um 23:14 Uhr

  • Okay, Sie fragen also nach Version 1.2.2 und es wird immer noch 1.2.3 installiert, und es wurde nichts anderes installiert? Die von Ihnen verwendete Syntax ist korrekt, um bestimmte Versionen abzurufen.

    – dapawit

    7. März 2011 um 23:15 Uhr


  • “unter Verwendung einer neuen virtuellen Umgebung, die mit der Option –no-site-packages erstellt wurde”; Möglicherweise müssen Sie dies mit dem Befehl voranstellen unset PYTHONPATH also zu behalten pip daran hindern, Ihre vorinstallierten Bibliotheken zu sehen

    – Benutzer5359531

    29. September 2017 um 15:16 Uhr

  • No such option: -I

    – Nick.McDermaid

    16. Dezember 2020 um 6:04 Uhr


Benutzer-Avatar
Trenton

Da dies eine bahnbrechende Änderung zu sein schien, die in Version 10 von pip eingeführt wurde, habe ich auf eine kompatible Version heruntergestuft:

pip install 'pip<10' 

Dieser Befehl weist pip an, eine niedrigere Version des Moduls als Version 10 zu installieren. Tun Sie dies in a virutalenv damit Sie Ihre Site-Installation von Python nicht vermasseln.

1159130cookie-checkInstallieren einer bestimmten Paketversion mit Pip

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy