
Geuis
Ich muss speziell psycopg2 v2.4.1 installieren. Ich habe aus Versehen gemacht:
pip install psycopg2
Anstatt:
pip install psycopg2==2.4.1
Das installiert 2.4.4 anstelle der früheren Version.
Jetzt, selbst nachdem ich psycopg2 deinstalliert und versucht habe, es mit der richtigen Version neu zu installieren, scheint es, dass Pip den Cache wiederverwendet, den es beim ersten Mal heruntergeladen hat.
Wie kann ich pip zwingen, seinen Download-Cache zu leeren und die spezifische Version zu verwenden, die ich in den Befehl einschließe?

sholsapp
Wenn Sie pip 6.0 oder neuer verwenden, versuchen Sie, die hinzuzufügen --no-cache-dir
Möglichkeit (Quelle).
Wenn Sie Pip älter als Pip 6.0 verwenden, aktualisieren Sie es mit pip install -U pip
.

Dr Manhattan
Löschen Sie gegebenenfalls das Cache-Verzeichnis für Ihr System
Linux und Unix
~/.cache/pip # and it respects the XDG_CACHE_HOME directory.
OSX
~/Library/Caches/pip
Fenster
%LocalAppData%\pip\Cache
AKTUALISIEREN
Mit Pip 20.1
oder später können Sie den vollständigen Pfad für Ihr Betriebssystem leicht finden, indem Sie Folgendes in die Befehlszeile eingeben:
pip cache dir
Beispielausgabe auf meiner Ubuntu-Installation:
➜ pip3 cache dir
/home/tawanda/.cache/pip

pradyunsg
Mit Pip 20.1 oder höher können Sie Folgendes tun:
pip cache remove matplotlib
: Entfernt alle Wheel-Dateien, die sich auf Matplotlib beziehen, aus Pips Cache.
pip cache purge
: um alle Wheel-Dateien aus Pips Cache zu löschen.
pip cache dir
: um den Ort des Caches zu erhalten.
Wenn Sie den Pip-Cache aus irgendeinem Grund nicht verwenden möchten (was laut die offiziellen Dokumente), Ihre Optionen sind:
pip install --no-cache-dir <package>
: Installieren Sie ein Paket, ohne den Cache zu verwenden, nur für diesen Lauf.
pip config set global.no-cache-dir false
: pip so konfigurieren, dass der Cache nicht “global” verwendet wird (in allen Befehlen).
Etwas Geschichte rund um diese Frage (setzt Pip-Maintainer-Hut auf):
Das in der Frage erwähnte spezifische Problem „Installieren der falschen Version aufgrund von Caching“ wurde in Pip 1.4 behoben, damals im Jahr 2013!)
Beheben Sie eine Reihe von Problemen im Zusammenhang mit der Bereinigung und Nichtwiederverwendung von Build-Verzeichnissen. (Nr. 413, Nr. 709, Nr. 634, Nr. 602, Nr. 939, Nr. 865, Nr. 948)
Seit Pip 6.0 (damals im Jahr 2014!), pip install
, pip download
und pip wheel
Befehle können angewiesen werden, die Verwendung des Caches mit dem zu vermeiden --no-cache-dir
Möglichkeit. (z.B: pip install --no-cache-dir <package>
)
Damals, ja, vorbei --no-cache-dir
war die einzige Möglichkeit, diesen Fehler zu vermeiden. Also … es ist ein bisschen unglücklich, dass dies das beste Suchergebnis für “pip cache remove” ist. 🙂
Seit Pip 10.0 (damals im Jahr 2018!), a pip config
Befehl hinzugefügt, mit dem pip so konfiguriert werden kann, dass der Cache immer ignoriert wird. Dies war immer möglich, indem die relevanten Dateien manuell bearbeitet wurden, aber dies brachte diese Fähigkeit auf die Befehlszeile. Details zu den Konfigurationsmechanismen von pip sind verfügbar hier.
Seit Pip 20.1 hat Pip eine pip cache
Befehl zum Verwalten des Inhalts von Pips Cache.

dafeda
Aus Dokumentation unter https://pip.pypa.io/en/latest/reference/pip_install.html#caching:
Ab v6.0 bietet pip einen standardmäßig aktivierten Cache, der ähnlich wie ein Webbrowser funktioniert. Während der Cache standardmäßig aktiviert ist und standardmäßig das Richtige tut, können Sie den Cache deaktivieren und immer auf PyPI zugreifen, indem Sie die verwenden --no-cache-dir
Möglichkeit.

Yih
pip kann ein Paket installieren, das den Cache ignoriert, wie hier
pip --no-cache-dir install scipy

Bence Mélykúti
Seit Pip 20.1b1das am 21. April 2020 veröffentlicht und „added pip cache
Befehl zum Inspizieren/Verwalten des Radcaches von Pip”, ist es möglich, diesen Befehl auszugeben:
pip cache purge
Das Nachschlagewerk ist hier:
https://pip.pypa.io/en/stable/reference/pip_cache/
Die entsprechende Pull-Request ist hier.
Auf Ubuntu musste ich löschen /tmp/pip-build-root
.
10112100cookie-checkpip verwendet eine falsche zwischengespeicherte Paketversion anstelle der vom Benutzer angegebenen Versionyes
Die derzeit aktuellste Antwort (gepostet von einem Pip-Maintainer) ist stackoverflow.com/a/61762308/1931274.
– pradyunsg
12. Mai 2020 um 22:52 Uhr