Projektszenario und Problembeschreibung
Wenn Sie pip verwenden, um die heruntergeladene angegebene Version der .whl-Drittanbieterbibliothek direkt in einer Offline-Umgebung zu installieren, kommt es zu einem Konflikt mit der vorhandenen installierten Paketversion und es wird ein Fehler gemeldet: FEHLER: „llvmlite“ kann nicht deinstalliert werden. .
Es handelt sich um ein von Distutils installiertes Projekt und daher können wir nicht genau bestimmen, welche Dateien dazu gehören, was nur zu einer teilweisen Deinstallation führen würde.
Nehmen Sie als Beispiel die Installationspaketversion llvmlite-0.38.1, das System verfügt bereits über Version 0.31.0.
Die Details lauten wie folgt:
Installing collected packages: llvmlite
Attempting uninstall: llvmlite
Found existing installation: llvmlite 0.31.0
ERROR: Cannot unistall 'llvmlite'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Ursachenanalyse:
Der Grund für ein solches Problem kann ein Netzwerkproblem sein, das durch einen Fehler beim Herstellen einer Verbindung zu einem fremden Spiegel verursacht wird (in diesem Fall können Sie die Download-Adresse angeben, und die Lösung wird am Ende des Artikels angegeben). . Da meine Umgebung nicht mit dem Internet verbunden ist, besteht das Hauptproblem in Versionskonflikten. Wenn Sie also sicher sind, die angegebene Version zu ersetzen, ohne die Umgebung zu beeinträchtigen, von der andere Codes abhängen, können Sie eine gewalttätige Lösung wie folgt verwenden.
Lösung:
Das Hinzufügen nach dem pip-Befehl --ignore-installed
bedeutet, dass die installierte Bibliothek ignoriert und die angegebene Version installiert wird.
Der Pip-Befehl, der den Fehler verursacht hat, lautet wie folgt:
pip install llvmlite-0.38.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Der geänderte Befehl ohne Fehler lautet wie folgt:
pip install llvmlite-0.38.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl --ignore-installed
Die Installation ist nach der Ausführung erfolgreich:
Processing ./llvmlite-0.38.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Installing collected packages: llvmlite
Successfully installed llvmlite-0.38.1
Wenn es an einem Netzwerk- oder Fremdspiegelverbindungsfehler liegt, sehen Sie sich die folgenden Lösungen an