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:
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
qual -a python retorna: /usr/local/bin/python /usr/local/bin/python
nada é retornado para o qual -a pip
- qual python retorna: /usr/local/bin/python
nada é retornado para qual pip
- 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, homebrew
instalará um formula
em /usr/local/Cellar/formula
e depois colocará um link em /usr/local/bin/formula
.
Para usar as fórmulas instaladas, certifique-se /usr/local/bin
de que estejam no seu arquivo $PATH
. Mostre seu $PATH
digitando
echo $PATH
Se /usr/local/bin
não estiver no seu arquivo $PATH
, coloque esta linha no final do seu ~/.profile
arquivo.
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
pip
Isso também funcionará .
Se você mostrar os resultados dessas etapas, provavelmente poderemos ajudá-lo com muito mais facilidade.
-- ATUALIZAR --
Você /usr/local/bin/python
vinculou a /usr/local/Cellar/python/2.7.9/bin/python
. -> brew install python
funcionou.
show, se pip
estiver 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/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 começando com #!/usr/bin/python
. Especialmente easy_install
falhará 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/pip
não está mais funcionando (ou seja, python
aponta para o sistema python e pip
nã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_profile
e/ou ~/.zshrc
:
export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"
Isso apontará python
para a versão brew do python e também fornecerá pip
. Consulte a seção de advertências abaixo brew info python
ehttps://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/pip
apontar 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 sudo
ao usar brew
o comando.
Em seguida, vincule-o novamente:
brew unlink python && brew link python
Para testar a simulação, desvincule e execute: brew link -n python
para ver links de arquivos que brew
seriam 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 ~/.bashrc
arquivo.
Se for bem-sucedido, você pip
deve funcionar agora.