pip
war in Ordnung, aber heute, als ich versuchte, es zu benutzen, bekam ich diese Meldung:
-bash: pip: command not found
Das ist seltsam. brew
zeigt, dass das python
Paket von brew
immer noch installiert ist, aber wenn Sie jetzt python
das Terminal eingeben, wird stattdessen das Paket standardmäßig auf dem System ausgeführt:
~: brew install python
Warning: python 2.7.13_1 is already installed
~: python
Python 2.7.10 (default, Feb 7 2017, 00:08:15)
Der Versuch, die Pakete zu importieren, die ich hatte, hat auch nicht funktioniert:
~: python
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>> import PIL
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named PIL
Wenn ich in gehe /usr/local/lib/python2.7/site-packages/
, scheint alles in Ordnung zu sein. Seltsamerweise funktioniert es auch, wenn ich tippe
~: pip2 -V
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
~: python2
Python 2.7.13 (default, Jul 18 2017, 09:17:00)
>>> import cv2
>>>
Was kann ich tun, um pip
(und meine Pakete) zurückzubekommen?
Nachdem ich die Diskussion darüber gelesen habe, warum diese Homebrew-Änderung stattgefunden hat, und einige der damit verbundenen Probleme, scheint es mir, dass die Verknüpfung mit "pip" und "python", wie Sie es in Ihrer Antwort getan haben, die Dinge in Zukunft verwirren könnte. Stattdessen folgte ich den Vorschlägen in diesen beiden GH-PRs (und es wird hier als die richtige Lösung bestätigt ).
Bearbeiten Sie ~/.bashrc so, dass es Folgendes enthält:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Ich verwende virtualenvwrapper und musste auch ~/.bash_profile bearbeiten , um eine ähnliche Zeile zu enthalten:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/opt/python/libexec/bin/python
~/.bash_profile
nicht verwendet wird .~/.bashrc
Ich bin mir ziemlich sicher, dass der Grund für die Änderung dieser Symlinks die in Version 1.3.0 angekündigten Homebrew-Updates waren :
„Die bedeutendste Änderung seit 1.2.0 ist, dass brew install python keine Python-Binärdatei mehr ohne manuelle PATH-Zusätze installiert und stattdessen eine python2-Binärdatei installiert. Dies vermeidet das standardmäßige Überschreiben der System-Python-Binärdatei, wenn Python als Abhängigkeit installiert wird. Es ebnet auch der Weg, Python schließlich zu Python 3.x zu machen."
Ich habe es gelöst, indem ich die Symlinks manuell wieder hinzugefügt habe:
cd /usr/local/bin
ln -s python2 python
ln -s pip2 pip
Allerdings weiß ich immer noch nicht, warum sie überhaupt verschwunden sind.
klanomath
~: python
), Python 2.7.13 ist das mit brew installierte Python!Derek 朕會功夫
python
das Terminal eintippte.Natsfan
Derek 朕會功夫
1
.