He instalado python usando homebrew y no puedo invocar pip desde bash. He intentado enmendar mi .bash_profile para incluir / usr / local / bin / python y / usr local / share / python en vano.
Cuando uso el comando bash:
find / -name 'pip'
Los únicos resultados que obtengo son:
/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
Ninguno de los cuales es un ejecutable.
Realmente no sé dónde apuntar mi $ PATH ya que no puedo encontrar el pip ejecutable. Cuando abro
/usr/local/lib/python2.7/site-packages/pip
o
/usr/local/Cellar/python/2.7.9/libexec/pip/pip
Encuentro los siguientes archivos:
__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
Ninguno de los cuales es un ejecutable.
Agradecería la ayuda de cualquier persona con más experiencia que yo.
Editar: probé los pasos sugeridos por Marco:
Aquí están los resultados de los pasos:
echo $ PATH muestra algunos directorios: / 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
que -a devuelve python: / usr / local / bin / python / usr / local / bin / python
no se devuelve nada por lo cual -a pip
- qué python devuelve: / usr / local / bin / python
no se devuelve nada por lo que pip
- ls -l $ (que python) devuelve un único directorio: lrwxr-xr-x 1 Ivan admin 33 17 may 08:59 / usr / local / bin / python -> ../Cellar/python/2.7.9/bin/ pitón
ls -l $ (que pip) devuelve varios, incluidos los archivos de python que mostré en mi publicación original
/usr/bin/python
. Esto no es bueno, porque muchos scripts Python comienzan con#!/usr/bin/python
. Si no hay python, recibirá mensajes de error como el suyo. Usebrew link --dry-run python
para verificar qué cambiará a sus enlaces cuando lo usebrew link --overwrite python
. Obtendremos su pip correr ;-)brew link --overwrite --dry-run python
para ver qué archivos se sobrescribirán.Warning: The post-install step did not complete successfully You can try again using brew postinstall python. I tried the
comando brew postinstall python` y me llevó a unos pocos archivos a los que no tenía acceso, a los que me di cuenta. Ahora puedo usar pip! Gracias de nuevoThe post-install step did not complete successfully
debió aerror: could not delete '/usr/local/lib/python2.7/site-packages/pip/__init__.py': Permission denied
. Eliminar manualmente ese archivo y luego ejecutarlobrew postinstall python
nuevamente lo reparó.Si brew está administrando su instalación de python y pip ya no está enlazado (es decir, escribe "which pip" y no obtiene resultados) intente esto desde su directorio de inicio:
No estoy seguro si el método anterior funciona más (no funcionó en mi máquina).
Ahora confirme que realmente apunta a su instalación 2.7 con
pip --version
(enumerará la versión principal de Python en la salida del directorio).fuente
Realmente no es una respuesta a la pregunta original, pero si alguien termina aquí porque su Homebrew instalado
python/pip
ya no funciona (es decir,python
apunta al sistema python ypip
no se encuentra), entonces la razón podría ser un cambio reciente (verano de 2017) en el manera Homebrew instala y vincula python.La solución es agregar lo siguiente a
~/.bash_profile
y / o~/.zshrc
:export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"
Esto hará que
python
apunte a la versión de preparación de python y también le darápip
. Consulte la sección de advertencias enbrew info python
y https://github.com/Homebrew/homebrew-core/issues/15746 para obtener más información.fuente
Por defecto Homebrew ofrece PIP a través de:
brew install python
. Sin embargo, entonces tendrá dos Pythons instalados en su Mac, alternativamente puede instalarlo a través de:Para verificar qué archivos están instalados con su paquete Python, intente:
que debe consistir
pip
.Después de la instalación, debe vincular los archivos instalados de su fórmula mediante:
que debería crear los enlaces simbólicos correctos (como
/usr/local/bin/pip
apuntar a suCellar/python/2.?.?/bin/pip
)Si tiene un problema de permiso, puede solucionarlo de la siguiente manera:
y asegúrese de que su usuario esté en el grupo de administración (
id -Gn $USER
).Después de arreglar los permisos, no use
sudo
cuando use elbrew
comando.Luego vuelva a vincularlo nuevamente:
Para probar la ejecución en seco, desvincular y ejecutar:
brew link -n python
para ver los enlaces de los archivos quebrew
se vincularían.Después de que el enlace sea exitoso, asegúrese de que su variable de sistema PATH tenga
/usr/local
, si no, agregue:para usted
~/.bashrc
archivoSi tiene éxito,
pip
debería funcionar ahora.fuente
/usr/bin/python
instalado (que normalmente debería proporcionarse con OS X). Por lo tanto, intente como se sugiere, que es:,brew install python && brew link python
luego agregue/usr/local/bin
a suPATH
.brew install python && brew link python
esté poniendo a Python/usr/bin
. Lo estoy viendousr/local/bin
, pero no estoy viendo el enlace simbólico que hay allí. También he desvinculado y vinculado Python, y nada cambia. Parece que el brew install and link no está poniendo las cosas donde deberíabrew
no hace nada con/usr/bin
, pero/usr/local/bin
. Pruebe:brew unlink python
y ejecutar en seco:brew link -n python
para enumerar todos los archivos que deben estar vinculados y verificar sipip
está allí. Si es así, corre de nuevo sin-n
.