pip funktioniert nicht bei der Installation von Hombrew Python 2.7

pip funktioniert nicht bei der Installation von Hombrew Python 2.7

Ich habe Python mit Homebrew installiert und kann Pip nicht von Bash aus aufrufen. Ich habe vergeblich versucht, mein .bash_profile zu ändern, um /usr/local/bin/python und /usr local/share/python einzuschließen.

Wenn ich den Bash-Befehl verwende:

find / -name 'pip'

Die einzigen Ergebnisse, die ich erhalte, sind:

/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip
/Users/Ivan/Library/Caches/pip
/Users/Ivan/Library/Logs/pip
/usr/local/Cellar/python/2.7.9/libexec/pip
/usr/local/Cellar/python/2.7.9/libexec/pip/pip
/usr/local/lib/python2.7/site-packages/pip

Keine davon ist eine ausführbare Datei.

Ich weiß nicht wirklich, wohin ich meinen $PATH richten soll, da ich die ausführbare Pip-Datei nicht finden kann. Wenn ich öffne

/usr/local/lib/python2.7/site-packages/pip

oder

/usr/local/Cellar/python/2.7.9/libexec/pip/pip

Ich finde folgende Dateien:

__init__.py         commands            operations
__init__.pyc        compat              pep425tags.py
__main__.py         download.py         pep425tags.pyc
__main__.pyc        download.pyc        req
_vendor             exceptions.py       status_codes.py
basecommand.py      exceptions.pyc      status_codes.pyc
basecommand.pyc     index.py            utils
baseparser.py       index.pyc           vcs
baseparser.pyc      locations.py        wheel.py
cmdoptions.py       locations.pyc       wheel.pyc
cmdoptions.pyc      models

Keine davon ist eine ausführbare Datei.

Ich würde mich über die Hilfe von jedem freuen, der mehr Erfahrung hat als ich.

Bearbeiten: Ich habe die von Marco vorgeschlagenen Schritte ausprobiert:

Hier sind die Ergebnisse der Schritte:

  1. echo $PATH zeigt einige Verzeichnisse: /usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/opt/X11/bin:/usr/local/mysql/bin

  2. which -a python gibt zurück: /usr/local/bin/python /usr/local/bin/python

es wird nichts zurückgegeben, wofür -a pip

  1. was Python zurückgibt: /usr/local/bin/python

Für welchen Pip wird nichts zurückgegeben

  1. ls -l $(which python) gibt ein einzelnes Verzeichnis zurück: lrwxr-xr-x 1 Ivan admin 33 17. Mai 08:59 /usr/local/bin/python -> ../Cellar/python/2.7.9/bin/python

ls -l $(which pip) gibt mehrere zurück, darunter die Python-Dateien, die ich in meinem ursprünglichen Beitrag gezeigt habe

Antwort1

Im Allgemeinen wird ein in homebrewinstalliert und dann ein Link bei platziert .formula/usr/local/Cellar/formula/usr/local/bin/formula

Um Ihre installierten Formeln zu verwenden, stellen Sie sicher, /usr/local/bindass in Ihrem ist $PATH. Zeigen Sie Ihre $PATHdurch Eintippen

echo $PATH

Wenn /usr/local/bines nicht in Ihrer Datei ist $PATH, fügen Sie diese Zeile am Ende Ihrer ~/.profileDatei ein.

export PATH="/usr/local/bin:$PATH"

Überprüfen Sie nun, was pythonsauf Ihrem OSX gefunden wurde, indem Sie Folgendes eingeben:

which -a python

Es sollte eine Python-Version unter /usr/bin/(die Apple-Python-Version) und eine unter /usr/local/bin/(die Homebrew-Python-Version) zu finden sein.

which python

zeigt Ihnen, welches Python in Ihrem zuerst gefunden wird $PATH und ausgeführt wird, wenn Sie aufrufen python.

Wenn Sie wissen möchten, wo sich die ausführbare Datei befindet, geben Sie Folgendes ein:

ls -l $(which python)

Das könnte dann so aussehen: lrwxr-xr-x 1 root wheel 68 7 Mai 13:22 python -> /usr/local/bin/python

pipDies wird auch für funktionieren .

Wenn Sie die Ergebnisse dieser Schritte zeigen, können wir Ihnen wahrscheinlich viel einfacher helfen.

-- AKTUALISIEREN --

Du hast /usr/local/bin/pythonverlinkt auf /usr/local/Cellar/python/2.7.9/bin/python. -> brew install pythonhat geklappt.

zeigen Sie an, ob pipes installiert ist, indem Sie eingeben

brew list python | grep pip

Das solltest du sehen

/usr/local/Cellar/python/2.7.9/bin/pip

Wenn nicht, prüfe, ob es Links gibt, die nicht mit abgeschlossen sind brew install. Ich habe dir so etwas gesagt:

"Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local"

So erzwingen Sie die Verknüpfung und überschreiben alle in Konflikt stehenden Dateien:

brew link --overwrite python

So listen Sie alle Dateien auf, die gelöscht werden würden:

brew link --overwrite --dry-run python

** KEIN Standard-Apple /usr/bin/python**

Link von /usr/local/Cellar/python/2.7.9/bin/pythonbis/usr/bin/python

ln -s /usr/local/Cellar/python/2.7.9/bin/python /usr/bin/python

Dies ist für alle Python-Skripte erforderlich, die mit beginnen #!/usr/bin/python. Insbesondere easy_installtritt ein Fehler auf, wenn kein Link vorhanden ist.

Jetzt können Sie laufen

easy_install pip

Hoffe, du machst Fortschritte

Antwort2

Wenn Brew Ihre Python-Installation verwaltet und Pip nicht mehr symbolisch verknüpft ist (d. h. Sie geben „which pip“ ein und erhalten keine Ergebnisse), versuchen Sie Folgendes von Ihrem Home-Verzeichnis aus:

brew unlink python && brew link python

Ich bin nicht sicher, ob die alte Methode noch funktioniert (auf meinem Computer hat sie nicht funktioniert).

Bestätigen Sie nun, dass es tatsächlich auf Ihre 2.7-Installation verweist pip --version(die Hauptversion von Python wird in der Verzeichnisausgabe aufgelistet).

Antwort3

Dies ist nicht wirklich eine Antwort auf die ursprüngliche Frage, aber wenn jemand hier landet, weil seine Homebrew-Installation python/pipnicht mehr funktioniert (d. h. pythonauf das System-Python verweist und pipnicht gefunden wird), dann könnte der Grund eine kürzliche (Sommer 2017) Änderung in der Art und Weise sein, wie Homebrew Python installiert und verknüpft.

Die Lösung besteht darin, Folgendes zu ~/.bash_profileund/oder hinzuzufügen ~/.zshrc:

export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"

Dies wird pythonauf die Brew-Version von Python verweisen und Ihnen auch geben pip. Siehe den Abschnitt mit den Vorbehalten unter brew info pythonundhttps://github.com/Homebrew/homebrew-core/issues/15746für mehr Informationen

Antwort4

Homebrew stellt Pip standardmäßig über Folgendes bereit: brew install python. Wenn Sie dann jedoch zwei Pythons auf Ihrem Mac installiert haben, können Sie es alternativ über Folgendes installieren:

sudo easy_install pip

Um zu überprüfen, welche Dateien mit Ihrem Python-Paket installiert sind, versuchen Sie Folgendes:

$ brew list python
/usr/local/Cellar/python/2.7.9/bin/pip
/usr/local/Cellar/python/2.7.9/bin/pip2
/usr/local/Cellar/python/2.7.9/bin/pip2.7
...

welches bestehen sollte pip.

Nach der Installation sollten Sie die installierten Dateien Ihrer Formel wie folgt symbolisch verknüpfen:

brew link python

Dadurch sollten die richtigen symbolischen Links erstellt werden (z. B. /usr/local/bin/pipauf Ihr Cellar/python/2.?.?/bin/pip).

Wenn Sie ein Berechtigungsproblem haben, können Sie es wie folgt beheben:

sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew

und stellen Sie sicher, dass Ihr Benutzer zur Administratorgruppe gehört ( id -Gn $USER).

Nach dem Korrigieren der Berechtigungen nicht mehr sudobei der Verwendung brewdes Befehls verwenden.

Dann verlinken Sie es noch einmal:

brew unlink python && brew link python

Um einen Probelauf durchzuführen, heben Sie die Verknüpfung auf und führen Sie Folgendes aus: brew link -n pythonum die Links der Dateien anzuzeigen, die brewverknüpft werden würden.

Stellen Sie nach erfolgreicher Verknüpfung sicher, dass Ihre Systemvariable PATH über verfügt. /usr/localWenn nicht, fügen Sie Folgendes hinzu:

export PATH=/usr/local/sbin:/usr/local/bin:$PATH

zu Ihrer ~/.bashrcDatei.

Bei Erfolg pipsollte es jetzt funktionieren.

verwandte Informationen