Instalé Python usando Homebrew y no puedo invocar pip desde bash. Intenté modificar mi .bash_profile para incluir /usr/local/bin/python y /usr local/share/python sin éxito.
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 ejecutable.
Realmente no sé dónde apuntar mi $PATH ya que no puedo encontrar el ejecutable pip. 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 ejecutable.
Agradecería la ayuda de alguien 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
cual -a python devuelve: /usr/local/bin/python /usr/local/bin/python
no se devuelve nada por lo cual -un pip
- que Python devuelve: /usr/local/bin/python
no se devuelve nada por qué pip
- ls -l $(cuál python) devuelve un único directorio: lrwxr-xr-x 1 Ivan admin 33 17 de mayo 08:59 /usr/local/bin/python -> ../Cellar/python/2.7.9/bin/ pitón
ls -l $(what pip) devuelve varios, incluidos los archivos de Python que mostré en mi publicación original
Respuesta1
Generalmente, homebrew
instalará un formula
archivo en /usr/local/Cellar/formula
y luego colocará un enlace en /usr/local/bin/formula
.
Para utilizar las fórmulas instaladas, asegúrese de /usr/local/bin
que esté en su archivo $PATH
. Muestra tu $PATH
escribiendo
echo $PATH
Si /usr/local/bin
no está en su archivo $PATH
, coloque esta línea al final de su ~/.profile
archivo.
export PATH="/usr/local/bin:$PATH"
Ahora, verifica lo que pythons
se encuentra en tu OSX escribiendo:
which -a python
Debería haber una pitón encontrada en /usr/bin/
(la pitón de Apple) y otra en /usr/local/bin/
la que sea la pitón Homebrew.
which python
le mostrará qué Python se encuentra primero en su $PATH
y se ejecutará cuando lo invoque python
.
Si quieres saber dónde está el ejecutable, muéstralo escribiendo
ls -l $(which python)
Esto podría verse así: lrwxr-xr-x 1 root wheel 68 7 Mai 13:22 python -> /usr/local/bin/python
pip
Esto también funcionará .
Si muestra los resultados de estos pasos, probablemente podamos ayudarle mucho más fácilmente.
-- ACTUALIZAR --
Te has /usr/local/bin/python
vinculado a /usr/local/Cellar/python/2.7.9/bin/python
. -> brew install python
funcionó.
mostrar, si pip
está instalado escribiendo
brew list python | grep pip
Debería ver
/usr/local/Cellar/python/2.7.9/bin/pip
Si no, verifique si hay enlaces que no estén hechos con brew install
. Te dije algo como esto:
"Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local"
Para forzar el enlace y sobrescribir todos los archivos en conflicto:
brew link --overwrite python
Para enumerar todos los archivos que se eliminarían:
brew link --overwrite --dry-run python
** NO hay Apple estándar /usr/bin/python
**
enlace desde /usr/local/Cellar/python/2.7.9/bin/python
a/usr/bin/python
ln -s /usr/local/Cellar/python/2.7.9/bin/python /usr/bin/python
Esto es necesario para todos los scripts de Python que comienzan con #!/usr/bin/python
. Especialmente easy_install
fallará si el enlace no está allí.
Ahora puedes correr
easy_install pip
Espero que estés progresando.
Respuesta2
Si brew está administrando su instalación de Python y pip ya no tiene un enlace simbólico (es decir, escribe "qué pip" y no obtiene resultados), intente esto desde su directorio de inicio:
brew unlink python && brew link python
No estoy seguro de si el método anterior ya funciona (no funcionaba en mi máquina).
Ahora confirme que efectivamente apunta a su instalación 2.7 pip --version
(enumerará la versión principal de Python en la salida del directorio).
Respuesta3
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 y pip
no se encuentra), entonces la razón podría ser un cambio reciente (verano de 2017) en el forma en que 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 señalará python
la versión Brew de Python y también le dará pip
. Consulte la sección de advertencias debajo brew info python
yhttps://github.com/Homebrew/homebrew-core/issues/15746para más información
Respuesta4
Por defecto, Homebrew proporciona pip a través de: brew install python
. Sin embargo, tendrás dos Pythons instalados en tu Mac; alternativamente, puedes instalarlos a través de:
sudo easy_install pip
Para verificar qué archivos están instalados con su paquete Python, intente:
$ 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
...
que debe consistir pip
.
Después de la instalación, debes vincular simbólicamente los archivos instalados de tu fórmula de la siguiente manera:
brew link python
que debería crear los enlaces simbólicos correctos (como /usr/local/bin/pip
apuntar a su Cellar/python/2.?.?/bin/pip
)
Si tiene un problema de permisos, puede solucionarlo de la siguiente manera:
sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew
y asegúrese de que su usuario esté en el grupo de administración ( id -Gn $USER
).
Después de corregir los permisos, no los use sudo
cuando use brew
el comando.
Luego vuelva a vincularlo:
brew unlink python && brew link python
Para probar el ensayo, desvincular y ejecutar: brew link -n python
para ver enlaces de archivos que brew
se vincularían.
Después de que la vinculación sea exitosa, asegúrese de que la variable del sistema PATH tenga /usr/local
; si no, agregue:
export PATH=/usr/local/sbin:/usr/local/bin:$PATH
a su ~/.bashrc
expediente.
Si tiene éxito, pip
debería funcionar ahora.