Ich weiß nicht, was der Deal ist, aber ich bin festgefahren, wenn ich einige Stackoverflow-Lösungen befolge, die nirgendwo hinkommen. Können Sie mir bitte dabei helfen?
Monas-MacBook-Pro:CS764 mona$ sudo python get-pip.py
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
/tmp/tmpbSjX8k/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Collecting pip
Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB)
100% |████████████████████████████████| 1.1MB 181kB/s
Installing collected packages: pip
Found existing installation: pip 1.4.1
Uninstalling pip-1.4.1:
Successfully uninstalled pip-1.4.1
Successfully installed pip-7.1.0
Monas-MacBook-Pro:CS764 mona$ pip --version
-bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
python
macos
installation
pip
osx-mavericks
Mona Jalal
quelle
quelle
pip3 install --upgrade pip
von @Excalibur in einem Kommentar weiter unten hervorgehoben.Ich vermute, Sie haben zwei Python-Installationen oder zwei Pip-Installationen, von denen eine teilweise entfernt wurde.
Warum benutzt du?
sudo
? Idealerweise sollten Sie in der Lage sein, alles von Ihrem Benutzerkonto aus zu installieren und auszuführen, anstatt root zu verwenden. Wenn Sie root und Ihr lokales Konto miteinander mischen, treten mit größerer Wahrscheinlichkeit Berechtigungsprobleme auf (siehe z. B. die Warnung "Das übergeordnete Verzeichnis gehört nicht dem aktuellen Benutzer").Was bekommen Sie, wenn Sie dies ausführen?
Dies zeigt Ihnen, welche Python-Binärdatei
pip
verwendet werden soll. Wenn es zeigt/usr/local/opt/python/bin/python2.7
, versuchen Sie Folgendes:Wenn hier "Keine solche Datei oder kein solches Verzeichnis" steht, versucht pip, eine Python-Binärdatei zu verwenden, die entfernt wurde.
Versuchen Sie als nächstes Folgendes:
Um den Pfad der Python-Binärdatei zu sehen, die tatsächlich funktioniert.
Da es so aussieht, als ob pip irgendwo erfolgreich installiert wurde, könnte es sein, dass dies
/usr/local/bin/pip
Teil einer älteren Installation von pip ist, die weiter oben auf derPATH
. Um dies zu testen, können Sie versuchen, die nicht funktionierendepip
Binärdatei wie folgt aus dem Weg zu räumen (möglicherweise erforderlichsudo
):Versuchen Sie dann
pip --version
erneut , Ihren Befehl auszuführen. Hoffentlich nimmt es die richtige Version und läuft erfolgreich.quelle
sudo /usr/bin/easy_install pip
- Hier gefunden: stackoverflow.com/questions/27308234/…Einzige Lösung in OSX und seiner Variante.
quelle
Befestigungsrohr
Für diesen Fehler:
Die Ursache für dieses Problem ist ein fehlerhafter Python-Pfad, der in pip fest codiert ist (was bedeutet, dass er nicht durch z. B. Ändern Ihres $ PATH behoben werden kann). Dieser Pfad ist in der neuesten Version von pip nicht mehr fest codiert. Eine Lösung, die funktionieren sollte , lautet also:
Da dieser Befehl natürlich pip verwendet, schlägt er mit demselben Fehler fehl.
Der Weg, um sich aus diesem Chaos herauszuholen:
which pip
#!/usr/local/opt/python/bin/python2.7
z. B.#!/usr/local/opt/python2/bin/python2.7
(beachten Sie Python2 im Pfad) oder einen beliebigen Pfad zu einem funktionierenden Python-Interpreter auf Ihrem Computer.pip install --upgrade pip
(dies überschreibt Ihren Hack und bringt Pip in die neueste Version, in der das Interpreter-Problem behoben werden sollte).Virtualenv reparieren
Für mich fand ich dieses Problem, indem ich zuerst das identische Problem von virtualenv hatte:
Die Lösung hier ist zu laufen
Wenn das Ausführen dieses Befehls den gleichen Fehler von pip ausgibt, siehe oben.
quelle
pip3 install --upgrade pip
)Ich habe den gleichen Fehler mit sudo für meine Installation gemacht. (Hoppla)
Dies brachte alles wieder normal.
quelle
Da ich sowohl Python 2 als auch Python 3 unter Mac OSX installiert hatte, hatte ich alle möglichen Fehler.
Ich habe verwendet, um den Speicherort meiner python2.7-Datei zu finden (/usr/local/bin/python2.7)
Dann habe ich meinen realen Python2.7-Installationsort mit dem vom Skript erwarteten verknüpft:
quelle
Ich hatte ein ähnliches Problem. Grundsätzlich suchte pip in einem falschen Pfad (alter Installationspfad) oder Python. Die folgende Lösung hat bei mir funktioniert:
which python
)/usr/local/bin/pip2.7
und/usr/local/bin/pip
) überprüft . Die Zeile sollte den richtigen Pfad zum Python-Pfad angeben. In meinem Fall nicht. Ich habe es korrigiert und jetzt funktioniert es gut.quelle
Falls es jemandem hilft, hat die in dieser anderen Frage erwähnte Lösung für mich funktioniert, als pip heute nach dem Upgrade nicht mehr funktionierte: Pip ist nach dem Upgrade defekt
Es scheint ein Problem zu sein, wenn sich ein zuvor zwischengespeicherter Speicherort ändert, sodass Sie den Cache mit diesem Befehl aktualisieren können:
quelle
Um die Bedienung zu vereinfachen, können Sie den folgenden Befehl verwenden, um Version 2 neu zu installieren:
brew install python@2
Dann sieht es auf meinem Mac wie folgt aus:
quelle
reinstall
Befehl inbrew
:brew reinstall python@2
Ich hatte das gleiche Problem. Ich habe sowohl Python 2.7 als auch 3.6 installiert. Python 2.7
virtualenv
funktionierte, aber nach der Installation von Python3 suchte virtualenv weiter nach Version 2.7 und konnte sie nicht finden. Dabeipip install virtualenv
wird die Python3-Version von virtualenv installiert.Wenn ich dann für jeden Befehl Python2 verwenden möchte, würde ich verwenden
virtualenv --python=python2.7 somecommand
quelle
Ich hatte das gleiche Problem, virtualenv zeigte auf einen alten Python-Pfad. Durch das Beheben des Pfads wurde das Problem behoben:
quelle
Ich habe das gleiche Problem. Wenn ich renne
brew link --overwrite python2
. Da war nochzsh: /usr/local/bin//fab: bad interpreter: /usr/local/opt/python/bin/python2.7: no such file or directory
.Ich habe es gelöst! Jetzt können wir die Python2-Versionsstruktur verwenden.
=== 25.07.2018 aktualisiert
Es gibt eine bequeme Möglichkeit, python2 version fab zu verwenden, wenn Ihr Betriebssystem python mit python3 verknüpft ist.
.sh
für Ihren Befehl.Hoffe das hilft.
quelle
Das Bearbeiten der ersten Zeile dieser Datei hat bei mir funktioniert:
MBP-de-Jose:~ josejunior$ which python3
MBP-de-Jose:~ josejunior$
Vor
nach dem
quelle
Alles, was Sie tun müssen, ist ... das Terminalfenster zu schließen und ein neues zu öffnen, um dieses Problem zu beheben.
Das Problem ist, dass bashrc kein neuer Python-Pfad hinzugefügt wird (entweder Quell- oder neues Terminalfenster würden helfen).
quelle
In meinem Fall habe ich beschlossen, die Homebrew-Python-Installation von meinem Mac zu entfernen, da ich bereits zwei andere Python-Versionen über MacPorts auf meinem Mac installiert hatte. Dies verursachte die Fehlermeldung.
Die Neuinstallation von Python durch Brew hat mein Problem gelöst.
quelle
Dieser Befehl hat für mich funktioniert
quelle
Für mich musste ich unter centOS 7 die alte Pip-Verbindung von / bin by entfernen
dann verknüpfe es mit
Dann wenn
Funktioniert, das sollte funktionieren
quelle