Instalei o python usando o homebrew e não consigo chamar o pip a partir 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 recebo 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.
Realmente não sei onde apontar meu $ PATH, pois 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 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 é um executável.
Agradeço a ajuda de qualquer pessoa com mais experiência do que eu.
Edit: Eu tentei as etapas sugeridas por Marco:
Aqui estão os resultados para as 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 o 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 eu mostrei na minha postagem original
/usr/bin/python
. Isso não é bom, porque muitos scripts Python começam com#!/usr/bin/python
. Se não houver python, você receberá mensagens de erro como a sua. Usebrew link --dry-run python
para verificar o que será alterado nos seus links ao usarbrew link --overwrite python
. Vamos obter o seu pip running ;-)brew link --overwrite --dry-run python
para ver quais arquivos serão substituídos.Warning: The post-install step did not complete successfully You can try again using brew postinstall python. I tried the
comando brew postinstall python` e me levou a alguns arquivos aos quais não tinha acesso aos quais eu cansei. Agora eu posso usar pip! Obrigado novamenteThe post-install step did not complete successfully
devidoerror: could not delete '/usr/local/lib/python2.7/site-packages/pip/__init__.py': Permission denied
. A exclusão manual desse arquivo e a execuçãobrew postinstall python
novamente o corrigiram.Se o brew estiver gerenciando sua instalação python e o pip não estiver mais vinculado (por exemplo, você digita "qual pip" e não obtém resultados), tente isso no diretório inicial:
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 a sua instalação 2.7 com
pip --version
(ele listará a versão principal do python na saída do diretório).fonte
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 python do sistema epip
não foi encontrado), o motivo pode ser uma alteração recente (verão de 2017) no 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á
python
parte da versão brew do python e também fornecerá a vocêpip
. Veja a advertências seção sobbrew info python
e https://github.com/Homebrew/homebrew-core/issues/15746 para mais informaçõesfonte
Por padrão Homebrew fornece pip via:
brew install python
. No entanto, você terá dois Pythons instalados no seu Mac. Em alternativa, você pode instalá-lo via:Para verificar quais arquivos estão instalados com o seu pacote Python, tente:
qual deve consistir
pip
.Após a instalação, você deve desvincular os arquivos instalados da sua fórmula:
que deve criar os links simbólicos certos (como
/usr/local/bin/pip
apontar para o seuCellar/python/2.?.?/bin/pip
)Se você tiver um problema de permissão, poderá corrigi-lo:
e verifique se o usuário está no grupo de administradores (
id -Gn $USER
).Depois de corrigir as permissões, não use
sudo
ao usar obrew
comando.Em seguida, vincule novamente:
Para testar a execução a seco, desvincule e execute:
brew link -n python
para ver os links dos arquivos quebrew
seriam vinculados.Após o êxito da vinculação, verifique se a variável de sistema PATH
/usr/local
inclui, se não, adicionar:para o seu
~/.bashrc
arquivo.Se for bem sucedido, você
pip
deve trabalhar agora.fonte
/usr/bin/python
instalado (o que normalmente deve ser fornecido com o OS X). Portanto, tente como sugerido, que é:brew install python && brew link python
e adicione/usr/local/bin
ao seuPATH
.brew install python && brew link python
está colocando python/usr/bin
. Estou vendousr/local/bin
, mas não estou vendo o link simbólico para pipar por lá. Também desvinculei e vinculei o python, e nada muda. Parece que a bebida instalar e ligação não é colocar as coisas onde deveriabrew
não faz nada com/usr/bin
, mas/usr/local/bin
. Tente:brew unlink python
e execute a seco:brew link -n python
para listar todos os arquivos que devem ser vinculados e verificar sepip
existe. Se sim, execute novamente sem-n
.