pip não funciona na instalação do hombrew python 2.7

pip não funciona na instalação do hombrew python 2.7

Instalei o python usando o homebrew e não consigo invocar o pip do bash. Tentei alterar meu .bash_profile para incluir /usr/local/bin/python e /usr local/share/python sem sucesso.

Quando uso o comando bash:

find / -name 'pip'

Os únicos resultados que obtenho são:

/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

Nenhum dos quais é executável.

Eu realmente não sei para onde apontar meu $PATH porque não consigo encontrar o executável do pip. Quando eu abro

/usr/local/lib/python2.7/site-packages/pip

ou

/usr/local/Cellar/python/2.7.9/libexec/pip/pip

Encontro os seguintes arquivos:

__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

Nenhum dos quais é executável.

Eu apreciaria a ajuda de alguém com mais experiência do que eu.

Editar: tentei os passos sugeridos pelo Marco:

Aqui estão os resultados das etapas:

  1. echo $PATH mostra alguns diretórios: /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. qual -a python retorna: /usr/local/bin/python /usr/local/bin/python

nada é retornado para o qual -a pip

  1. qual python retorna: /usr/local/bin/python

nada é retornado para qual pip

  1. ls -l $(que python) retorna um único diretório: lrwxr-xr-x 1 Ivan admin 33 17 de maio 08:59 /usr/local/bin/python -> ../Cellar/python/2.7.9/bin/ Pitão

ls -l $(qual pip) retorna vários, incluindo os arquivos python que mostrei na minha postagem original

Responder1

Geralmente, homebrewinstalará um formulaem /usr/local/Cellar/formulae depois colocará um link em /usr/local/bin/formula.

Para usar as fórmulas instaladas, certifique-se /usr/local/binde que estejam no seu arquivo $PATH. Mostre seu $PATHdigitando

echo $PATH

Se /usr/local/binnão estiver no seu arquivo $PATH, coloque esta linha no final do seu ~/.profilearquivo.

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

Agora, verifique o que pythonsé encontrado no seu OSX digitando:

which -a python

Deve haver um python encontrado em /usr/bin/(o python da Apple) e outro no /usr/local/bin/qual é o python do Homebrew.

which python

mostrará qual python é encontrado primeiro em seu $PATH e será executado quando você invocar python.

Se você quiser saber onde está o executável, mostre-o digitando

ls -l $(which python)

Isso poderia ser assim: lrwxr-xr-x 1 root wheel 68 7 Mai 13:22 python -> /usr/local/bin/python

pipIsso também funcionará .

Se você mostrar os resultados dessas etapas, provavelmente poderemos ajudá-lo com muito mais facilidade.

-- ATUALIZAR --

Você /usr/local/bin/pythonvinculou a /usr/local/Cellar/python/2.7.9/bin/python. -> brew install pythonfuncionou.

show, se pipestiver instalado digitando

brew list python | grep pip

Você deveria ver

/usr/local/Cellar/python/2.7.9/bin/pip

Caso contrário, verifique se há links que não são feitos com brew install. Te contei algo assim:

"Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local"

Para forçar o link e substituir todos os arquivos conflitantes:

brew link --overwrite python

Para listar todos os arquivos que seriam excluídos:

brew link --overwrite --dry-run python

** SEM Apple padrão /usr/bin/python**

link de /usr/local/Cellar/python/2.7.9/bin/pythonpara/usr/bin/python

ln -s /usr/local/Cellar/python/2.7.9/bin/python /usr/bin/python

Isso é necessário para todos os scripts python começando com #!/usr/bin/python. Especialmente easy_installfalhará se o link não estiver lá.

Agora você pode correr

easy_install pip

Espero que você esteja progredindo

Responder2

Se o brew estiver gerenciando a instalação do python e o pip não estiver mais vinculado a um link simbólico (ou seja, você digita "qual pip" e não obtém resultados), tente isso no seu diretório inicial:

brew unlink python && brew link python

Não tenho certeza se o método antigo funciona mais (não funcionou na minha máquina).

Agora confirme se ele realmente aponta para sua instalação 2.7 pip --version(ele listará a versão principal do python na saída do diretório).

Responder3

Não é realmente uma resposta para a pergunta original, mas se alguém acabar aqui porque o Homebrew instalado python/pipnão está mais funcionando (ou seja, pythonaponta para o sistema python e pipnão foi encontrado), então o motivo pode ser uma mudança recente (verão de 2017) no maneira como o Homebrew instala e vincula o python.

A solução é adicionar o seguinte a ~/.bash_profilee/ou ~/.zshrc:

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

Isso apontará pythonpara a versão brew do python e também fornecerá pip. Consulte a seção de advertências abaixo brew info pythonehttps://github.com/Homebrew/homebrew-core/issues/15746Para maiores informações

Responder4

Por padrão, o Homebrew fornece pip via: brew install python. No entanto, você terá dois Pythons instalados em seu Mac. Alternativamente, você pode instalá-los via:

sudo easy_install pip

Para verificar quais arquivos estão instalados com seu pacote Python, tente:

$ 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 deveria consistir pip.

Após a instalação, você deve criar um link simbólico para os arquivos instalados da sua fórmula:

brew link python

que deve criar os links simbólicos corretos (como /usr/local/bin/pipapontar para o seu Cellar/python/2.?.?/bin/pip)

Se você tiver problemas de permissão, poderá corrigi-lo:

sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew

e certifique-se de que seu usuário esteja no grupo admin ( id -Gn $USER).

Depois de corrigir as permissões, não use sudoao usar brewo comando.

Em seguida, vincule-o novamente:

brew unlink python && brew link python

Para testar a simulação, desvincule e execute: brew link -n pythonpara ver links de arquivos que brewseriam vinculados.

Depois que a vinculação for bem-sucedida, certifique-se de que sua variável de sistema PATH tenha /usr/local, caso contrário, adicione:

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

para o seu ~/.bashrcarquivo.

Se for bem-sucedido, você pipdeve funcionar agora.

informação relacionada