Ich möchte Scipy installieren (habe bereits Numpy installiert). Ich habe Python 3.5.1-3 mit OS und IDLE3 (3.5.2) installiert. Als ich im Terminal anschlug
sudo pip3 install scipy
Es wird ausgedruckt
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
Ich habe bereits versucht, pip3 neu zu installieren und das Betriebssystem neu zu starten, aber es hat sich nicht geändert. Hat pip3 komisch mit jemand anderem zusammengearbeitet?
Verwenden Sie
python -m pip install
anstelle vonpip install
Beispiel:
Nach einem
pip
Upgrade ist dieses Problem aufgetreten:Die
pip
(bzw.pip3
) ausführbare Datei wird von Ihrer Distribution bereitgestellt (python-pip
Paket unter Ubuntu 16.04).Daher wird es nicht mit dem
pip
Paket selbst auf dem neuesten Stand gehalten, während Sie pip aktualisieren, und kann brechen.Wenn Sie nur
python -m pip
direkt verwenden, zB wie in:Es durchsucht Ihren Python-Pfad, findet die neueste Version von pip und führt diese Datei aus.
Es beruht auf der Tatsache, dass diese Datei ausführbar ist, dies jedoch ein sehr standardmäßiger Schnittstellentyp ist und daher weniger wahrscheinlich ist, dass sie kaputt geht als das hackerere Debian-Skript.
Dann empfehle ich, die folgenden Aliase zu Ihrem hinzuzufügen
.bashrc
:Die Ubuntu 18.04-
/usr/bin/pip3
Datei macht:und vermutlich
main
wurdepip
irgendwann davon abgezogen, was die Dinge kaputt machte.Der Fehler beim Festschreiben des Pip lautet anscheinend: 95bcf8c5f6394298035a7332c441868f3b0169f4 "Alle internen APIs nach pip._internal verschieben", der in Pip 18.0 eingegangen ist .
Getestet in Ubuntu 16.04 nach einem Update von
pip3
9.0.1 auf 18.0.pyenv
Letztendlich würde ich jedoch für eine ernsthafte Python-Entwicklung nur empfehlen, dass Sie Ihr eigenes lokales Python mit pyenv + virtualenv installieren, um diesen Ubuntu-Fehler zu umgehen: Wie installiere ich eine andere Python-Version mit apt-get?
quelle
/usr/bin/pip
von einem Ubuntu-Python-Paket bereitgestellt undpip
nicht überschrieben. Aber daspip update
wird vonpip
selbst verwaltet und vermeidet das Berühren von Ubuntu-Dateien.Debian
Der Kommentar sagt:Run the main entry point, similarly to how setuptools does it, but because we didn't install the actual entry point from setup.py, don't use the pkg_resources API.
Vielleicht gibt es eine Möglichkeit, Python auf Python-Weise richtig zu installieren./usr/bin/pip
tut :-)Der Fehler ist in pip 10.0.0 zu finden.
Unter Linux müssen Sie die Datei / usr / bin / pip ändern von:
dazu:
quelle
pip
.Ich hatte das gleiche Problem, aber die Deinstallation und Neuinstallation mit apt und pip hat bei mir nicht funktioniert.
Ich sah eine andere Lösung, die eine einfache Möglichkeit darstellt, den Pip3-Pfad wiederherzustellen:
quelle
Karel hat möglicherweise Ihr Problem mit der Installation von "numpy and scipy" gelöst, aber was mit pip auf Ihrem System nicht stimmt, wurde noch nicht behoben, sodass Sie wahrscheinlich weitere Probleme mit pip haben werden.
Wenn Sie hier schauen , scheint es ein ziemlich häufiges Problem mit Pip 10 auf Ubuntu-Systemen zu sein. Möglicherweise finden Sie in diesem Thread einige Umgehungsmöglichkeiten, die für Sie funktionieren, aber hoffentlich wird sie durch ein Update bald behoben.
quelle
Das Installieren von pip sowohl von apt als auch von pip selbst kann dies verursachen.
In meinem Fall habe ich das pip-Paket von Ubuntu verwendet, um pipenv zu installieren, das dann eine neuere Kopie von pip installiert hat. Da meine Shell Ubuntus Pip 9-Skript
which pip3
ausführt (um die Ausführung zu überprüfen ) und mein Python-Interpreter dann das Pip 10-Modul importiert, schlägt der Befehl pip3 fehl. Also möchte ich einen der beiden deinstallieren.Es ist fair anzunehmen, dass Sie den neueren Pip aus einem bestimmten Grund haben. In diesem Fall möchten Sie den älteren Pip wie folgt deinstallieren:
sudo apt remove python3-pip
Wenn Sie sicher sind, dass Sie mit dem älteren Pip zurechtkommen und das Systempaket bevorzugen, möchten Sie das neuere deinstallieren:
~/.local/bin/pip3 uninstall pip
oder scheitern
sudo /usr/local/bin/pip3 uninstall pip
quelle
Art
Dies sollte diesen Fehler beseitigen
quelle
Die Neuinstallation von pip erzwingen funktioniert für die meisten Benutzer einwandfrei, wie auf dieser Github-Seite gezeigt:
quelle
Mein Problem war letztendlich ein Missverhältnis zwischen Python 3.6 und 3.7. Bei der Installation von python3.6 wurde ein Link eingefügt,
/usr/bin/python3 -> /usr/bin/python3.6
obwohl das System auf python3.7 aktualisiert wurde.quelle
Das hat bei mir funktioniert:
Durch
install --upgrade
meine ich , was Sie zu installieren versuchen.quelle