pip
estaba bien, pero hoy cuando traté de usarlo, recibí este mensaje:
-bash: pip: command not found
Eso es raro. brew
muestra que el python
paquete brew
aún está instalado, pero ahora al escribir python
en la terminal se ejecutará el predeterminado en el sistema:
~: brew install python
Warning: python 2.7.13_1 is already installed
~: python
Python 2.7.10 (default, Feb 7 2017, 00:08:15)
Intentar importar los paquetes que tenía no funcionó tan bien:
~: 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
Si entro /usr/local/lib/python2.7/site-packages/
, todo parece estar bien. Curiosamente también funciona si escribo
~: 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
>>>
¿ Qué puedo hacer para pip
recuperar (y mis paquetes)?
Después de leer la discusión sobre por qué tuvo lugar este cambio de Homebrew y algunos de los problemas vinculados, me parece que vincular a "pip" y "python" como lo hizo en su respuesta podría confundir las cosas en el futuro. En cambio, seguí las sugerencias en estos dos PR de GH (y se confirma que es la solución correcta aquí ).
Edite ~/.bashrc para que contenga:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Estoy usando virtualenvwrapper y también necesitaba editar ~/.bash_profile para que contuviera una línea similar:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/opt/python/libexec/bin/python
~/.bash_profile
porque bash no se usa ~/.bashrc
por el motivo que sea.Estoy bastante seguro de que la razón por la que cambiaron estos enlaces simbólicos se debió a las actualizaciones de homebrew anunciadas en la versión 1.3.0:
"El cambio más significativo desde 1.2.0 es que brew install python ya no instala un binario de python sin adiciones manuales de PATH y, en su lugar, instala un binario de python2. Esto evita anular el binario de python del sistema de forma predeterminada al instalar Python como una dependencia. También allana la forma de que Python sea eventualmente Python 3.x".
Lo resolví agregando manualmente los enlaces simbólicos:
cd /usr/local/bin
ln -s python2 python
ln -s pip2 pip
Sin embargo, todavía no sé por qué desaparecieron en primer lugar.
klanomath
~: python
), python 2.7.13 es el Python instalado con brew.Derek 朕會功夫
python
en la terminal.Natsfán
Derek 朕會功夫
1
.