pip não está funcionando em python hombrew 2.7 instalar

14

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

Quando eu 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 é um executável.

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

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

ou

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

Eu acho 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 é um executável.

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

Edit: Eu tentei os passos sugeridos pelo Marco:

Aqui estão os resultados para as 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. que retorna um-python: / usr / local / bin / python / usr / local / bin / python

nada é retornado para o qual -a pip

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

nada é retornado para qual pip

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

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

    
por YoungPadawan 17.05.2015 / 11:29

4 respostas

19

Geralmente, homebrew instalará formula em /usr/local/Cellar/formula e, em seguida, colocará um link em /usr/local/bin/formula .

Para usar suas fórmulas instaladas, verifique se /usr/local/bin está no seu $PATH . Mostre seu $PATH digitando

echo $PATH

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

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

Agora, verifique quais pythons são encontrados no seu OSX digitando:

which -a python

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

which python

mostrará a você, qual python é encontrado primeiro no 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 roda de raiz 68 7 Mai 13:22 python - > / usr / local / bin / python

Isso funcionará para pip também.

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

- ATUALIZAÇÃO -

Você tem /usr/local/bin/python vinculado a /usr/local/Cellar/python/2.7.9/bin/python . - > brew install python trabalhado.

show, se pip for instalado digitando

brew list python | grep pip

Você deve ver

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

Se não, verifique se há links, o que não é feito com brew install . Te disse 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

** NÃO é padrão Apple /usr/bin/python **

link de /usr/local/Cellar/python/2.7.9/bin/python para /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 que começam com #!/usr/bin/python . Especialy easy_install falhará, se o link não estiver lá.

Agora, você pode executar

easy_install pip

Espero que você esteja progredindo

    
por 17.05.2015 / 17:09
5

Se o brew estiver gerenciando sua instalação do python e o pip não estiver mais vinculado (ou seja, você digita "which pip" e não obtém resultados) tente isso em seu diretório inicial:

brew unlink python && brew link python

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

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

    
por 20.07.2017 / 14:00
4

Não é realmente uma resposta à pergunta original, mas se alguém acabar aqui porque o python/pip instalado pelo Homebrew não está mais funcionando (ou seja, python aponta para o sistema python e pip não é encontrado), A razão pode ser uma mudança recente (verão de 2017) na maneira como o Homebrew instala e vincula o python.

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

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

Isso fará com que python aponte para a versão brew do python e também lhe dê pip . Veja a seção de advertências em brew info python e link para obter mais informações

    
por 05.11.2017 / 21:47
2

Por padrão, o Homebrew fornece pip via: brew install python . No entanto, você terá dois Python instalados no seu Mac, você pode alternativamente instalá-lo via:

sudo easy_install pip

Para verificar quais arquivos estão instalados com o 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 deve consistir em pip .

Após a instalação, você deve ligar simbolicamente os arquivos instalados da sua fórmula:

brew link python

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

Se você tiver um problema de permissão, poderá corrigi-lo por:

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

e verifique se seu usuário está no grupo de administradores ( id -Gn $USER ).

Após corrigir as permissões, não use sudo ao usar o comando brew .

Em seguida, vincule-o novamente:

brew unlink python && brew link python

Para testar a execução, desvincular e executar: brew link -n python para ver links de arquivos que brew vincularia.

Após o sucesso da vinculação, certifique-se de que sua variável do sistema PATH tenha /usr/local , caso contrário, adicione:

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

para o seu arquivo ~/.bashrc .

Se tiver sucesso, seu pip deverá funcionar agora.

    
por 17.05.2015 / 22:01