pip no funciona en la instalación de hombrew python 2.7

pip no funciona en la instalación de hombrew python 2.7

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:

  1. 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

  2. cual -a python devuelve: /usr/local/bin/python /usr/local/bin/python

no se devuelve nada por lo cual -un pip

  1. que Python devuelve: /usr/local/bin/python

no se devuelve nada por qué pip

  1. 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, homebrewinstalará un formulaarchivo en /usr/local/Cellar/formulay luego colocará un enlace en /usr/local/bin/formula.

Para utilizar las fórmulas instaladas, asegúrese de /usr/local/binque esté en su archivo $PATH. Muestra tu $PATHescribiendo

echo $PATH

Si /usr/local/binno está en su archivo $PATH, coloque esta línea al final de su ~/.profilearchivo.

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

Ahora, verifica lo que pythonsse 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

pipEsto también funcionará .

Si muestra los resultados de estos pasos, probablemente podamos ayudarle mucho más fácilmente.

-- ACTUALIZAR --

Te has /usr/local/bin/pythonvinculado a /usr/local/Cellar/python/2.7.9/bin/python. -> brew install pythonfuncionó.

mostrar, si pipestá 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/pythona/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_installfallará 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/pipya no funciona (es decir, pythonapunta al sistema Python y pipno 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_profiley/o ~/.zshrc:

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

Esto señalará pythonla versión Brew de Python y también le dará pip. Consulte la sección de advertencias debajo brew info pythonyhttps://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/pipapuntar 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 sudocuando use brewel comando.

Luego vuelva a vincularlo:

brew unlink python && brew link python

Para probar el ensayo, desvincular y ejecutar: brew link -n pythonpara ver enlaces de archivos que brewse 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 ~/.bashrcexpediente.

Si tiene éxito, pipdebería funcionar ahora.

información relacionada