Tento mudar para o Homebrew (depois de usar o fink e o macport) no Mac OS X 10.6.2. Eu instalei o python 2.7 com
brew install python
O problema é que, ao contrário do Macport, parece que não há utilitário python_select, e meu python padrão do Mac é sempre o padrão
which python
Me dê
/usr/bin/python
e /usr/bin/python
não é um link simbólico
Como posso fazer para que o sabor do python brew seja meu python padrão?
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
source: discourse.brew.sh/t/…Respostas:
Como você está usando o Homebrew, o seguinte comando fornece uma imagem melhor:
Resultado:
fonte
python2
está em / usr / local / bin, apenaspython
; set-export PATH="/usr/local/opt/python/libexec/bin:$PATH"
in~/.bash_profile
Veja: Como vincular python no Homebrew?
fonte
Conserto rápido:
/etc/paths
No meu caso,
/etc/paths
parece com:Se você quiser saber mais sobre os caminhos no OSX, achei este artigo bastante útil:
http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/
fonte
Conforme sugerido pelo próprio instalador do homebrew, adicione isso ao seu
.bashrc
ou.zshrc
:fonte
.zshrc
arquivo e não o.bashrc
arquivo que precisa ser alterado.Eu fiz "brew install python" para o OSX High Sierra. O
$PATH
tinha/usr/local/bin
antes de qualquer outro caminho, mas aindawhich python
estava apontando para o python do sistema.Quando eu olhei mais fundo, descobri que não há executável em python
/usr/local/bin
. O executável é nomeadopython2
. Para corrigir esse problema, crie um link simbólicopython
apontando parapython2
:/usr/local/bin $: ln -s python2 python
fonte
O Homebrew NÃO substitui os itens em "/ usr / bin". Você só quer colocar "/ usr / local / bin" à frente de "/ usr / bin" no seu caminho, depois "qual python" fornecerá "/ usr / local / bin / python".
Substituir / usr / bin / python (ou / usr / bin / ruby) não é recomendado.
fonte
python
A fórmula agora usapython3
(v3.6.5 por enquanto), o brew vinculará o diretório :Ele também irá vincular o binário :
Se você ainda precisar usar
python2.x
, use:Para usar o homebrew's
python
, basta colocar seu diretório no PATH, para bash:para peixes:
Nota:
python
/usr/local/share/python
em versões mais antigas.fonte
python3
no seu caminho - e não um executivo chamadopython
.. Referenciar especificamente/usr/local/opt/python/libeexec/bin
antes de outros diretórios no meu caminho resolvido as coisas.Modifique seu $ PATH, adicione-o em seu bashrc ou bash_profile:
mais clique aqui: Edição nº 89791
fonte
Você precisa editar sua variável de ambiente PATH para garantir que onde o python homebrew esteja localizado, seja pesquisado antes de / usr / bin. Você também pode definir as coisas na sua configuração de shell para que uma variável como PYTHON seja configurada para a versão desejada do python e chamada
$PYTHON
em vezpython
da linha de comando.Além disso, como outro pôster afirmou (e especialmente no mac) NÃO mexa com o python em / usr / bin para apontá-lo para outra instalação do python. Você está apenas pedindo problemas, se o fizer.
fonte
Eu fiz
brew install python
, o meu$PATH
foi bom, mas ainda assim,which python
me deu o sistema instalado. Reiniciar o terminal corrigiu-o.fonte
brew install python
e, em seguida, reiniciar o terminal, e nada mais? Não há necessidade debrew unlink
&brew link
?hash -r
brew unlink & brew link
várias vezes. Necessário apenas para reiniciar o terminalpython
agora aponta parapython3
, se necessáriopython 2
, faça:brew install python@2
e, em seguida, no seu arquivo .zshrc ou .bashrcexport PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
Now,pyhon --version
= Python 2.7.14 epython3 --version
= Python 3.6.4. Esse é o comportamento que estou acostumado a ver no meu terminal.fonte
Acredito que existem meios para tornar o python homebrew padrão, mas, na minha opinião, a maneira correta de resolver um problema é não mexer nos caminhos python do sistema: é melhor criar um virtualenv no qual o python homebrew seria o padrão (usando virtualenv - opção -python). Usar ferramentas como
python_select
quase sempre é uma má ideia.fonte
Use pyenv para instalar e alternar entre versões do Python. Eu uso o rbenv há anos, o que faz a mesma coisa, mas para Ruby. Antes disso, era o inferno gerenciando versões.
Consulte a página do github do pyenv para obter instruções de instalação. Basicamente, é assim: - Instale o pyenv usando o homebrew.
brew install pyenv
- Adicione uma função ao final do script de inicialização do shell para que o pyenv possa fazer a mágica.echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
pyenv install 3.7.7
.pyenv global 3.7.7
.pyevn local
. Isso cria um arquivo na pasta do seu projeto que especifica a versão do python. O Pyenv procurará substituir a versão global do python pela versão nesse arquivo.fonte
Apenas faça:
Depois de fazer isso, adicione isso ao seu bashrc ou bash_profile:
Aproveitar!
fonte
link
comandos nas respostas aqui,/usr/local/bin
são para epython2
não parapython
. Usar um alias para solucionar isso parece uma péssima idéia, mas ainda não encontrei nada melhor.cp /usr/local/bin/python2 /usr/local/bin/python
e parecia funcionar bem. Esta é uma solução ainda mais feia?Adicione
/usr/local/opt/python/libexec/bin
explicitamente ao seu.bash_profile
:Depois disso, ele deve funcionar corretamente.
fonte
Se você é casca de peixe
fonte
Você pode editar / etc / caminhos. Aqui é minha:
Em seguida, adicione um link simbólico para a versão python. No meu caso
Voila!
fonte
Desde High Sierra, você precisa usar:
Isso ocorre porque
/usr/local
não pode mais ser cantadofonte
Não faço ideia do que você quer dizer com Python padrão. Considero uma prática ruim substituir o interpretador Python do sistema por uma versão diferente. A funcionalidade do sistema pode depender de alguma forma do Python do sistema e de módulos específicos ou de uma versão específica do Python. Em vez disso, instale suas instalações personalizadas do Python em um local diferente e seguro e ajuste seu $ PATH conforme necessário para chamá- lo de Python através de uma pesquisa de caminho, em vez de procurar o Python padrão.
fonte