Ich hatte ein seltsames Problem mit Pip unter Ubuntu 15.04. Wenn ich versuche, etwas mit der Option "-t" zu installieren, um es in ein bestimmtes Verzeichnis zu stellen, schlägt dies mit dem folgenden Fehler fehl:
error: can't combine user with prefix, exec_prefix/home, or install_(plat)base
Schlägt beispielsweise pip install -t <directory> <package>
mit diesem Fehler fehl.
Mein Pip ist Version 1.5.6 und meine Python-Version ist 2.7.
Ich habe genau die gleichen Befehle auf meinen 14.10-Systemen ohne Probleme ausgeführt, daher kann ich nur den Schluss ziehen, dass dies ein Problem ist, das speziell für 15.04 gilt.
python
15.04
python-2.7
pip
djpetti
quelle
quelle
Antworten:
Ich bin auf das gleiche Problem gestoßen und habe festgestellt, dass der Pip in der Standarddistribution alt ist 1.5.6, die aktuell veröffentlichte Version ist 7.1.0. Da es schwierig ist, das Problem aufzuspüren, habe ich dort und dort nach der "Nadel im Heuhaufen" gesucht und sie manuell installiert, wie im Folgenden vorgeschlagen:
Dieser Kommentar: https://github.com/pypa/pip/issues/1093#issuecomment-103127883, auf den in diesem Stapel verwiesen wird: /programming/19460232/pip-list-crashes-with-an-assertionerror
Pip entfernen:
Laden Sie das Installationsskript herunter:
Installieren Sie es wieder:
Befehle mit bin verknüpfen:
Wobei [PIP_HOME] das Verzeichnis des Pip-Pakets ist.
jetzt, wenn ich renne,
pip -V
löscht:Zurück zu meinem Grundproblem der Befehlserfolg
pip install -r requirements.txt -t lib
mit der neuesten Version.quelle
Ich denke, die Antwort von @Tiberiu C hat den Nagel auf den Kopf getroffen. Ich kann nicht glauben, dass das
pip
in der Distribution so alt ist. Diese Schritte zur Lösung des Problems scheinen jedoch ein ziemlicher Arbeitsaufwand zu sein. Ich wollte daher vorschlagen, dass Sie, wenn Sie bereits übereasy_install
ein System verfügen , seine Lösung folgendermaßen implementieren können:Zuerst habe ich versucht, ein Selbst-Upgrade durchzuführen
pip
mit:Es wird jedoch abgelehnt, die Distributionsversion zu ersetzen. Aber dann kam ich auf diese , die mich oben auf die Lösung gerichtet.
quelle