É fácil:
defaults write com.apple.versioner.python Version 2.6
Veja man python
uma explicação completa da Apple.
Além disso, uma dica: verifique se você está executando o Python que acompanha o seu computador e não outro que você instalou. Faça isso digitando which python
no prompt de comando. Deve apontar para /usr/bin/python
. Eu apenas mencionei isso porque meu padrão é 2.6 no Snow Leopard (era 2.5 quando eu estava usando o Leopard). Portanto, o fato de você estar recebendo o 2.5 pode indicar que há algo mais no seu caminho.
Atualizar
Para abordar os comentários abaixo:
Isso não faz o que as pessoas estão perguntando.
Faz para mim, no OS X 10.8.2. Depois de fazer defaults write com.apple.versioner.python Version 2.6
, a versão padrão do Python é de fato 2.6. (E da mesma forma depois de voltar para 2.7.)
Isso é verdade, seja eu executado python
diretamente ou usando um script executável começando com #!/usr/bin/env python
- eu recebo a versão esperada do Python.
Isso não resolve o link simbólico em /System/Library/Frameworks/Python.framework/Versions em que Current aponta para 2.7, o que pode causar problemas (porque ele ainda está no sys.path com 2.6!)
Na verdade, ele não corrige esse link simbólico.
No entanto, executar um pequeno script que print()
é o sys.path
e (pelo menos na minha configuração relativamente padrão) os 2,6 diretórios de bibliotecas estão no caminho e os 2,7 dirs são não no caminho. O Current
diretório com links simbólicos também não está no caminho. Portanto, não deve ser um problema para a maioria dos scripts.
No entanto, é possível - ainda não testado - que o Current
link simbólico seja usado por um easy_install
ou outro pip
. Isso causaria problemas. Com certeza parece um bug que o link simbólico não é atualizado quando você atualiza a versão do Python.
python
apontada/Library/Frameworks/Python.framework/Versions/Current/bin
. Naturalmente, isso não foi atualizado para o 2.6. Substituí minha variável PATH pela padrão que encontrei no Google e agora removo o MacPython do meu sistema./Library/Frameworks/Python.framework/Versions/Current/bin
) Como eu altero isso?/usr/bin/python
é um executável, não um link./usr/bin/python2.6
é um link que aponta para../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
. Dado que o executável Python está/System/Library
nele, ele deve estar disponível independentemente de / qual versão do Xcode está instalada.Eu sugeriria o uso de portas mac ...
Existe um pacote chamado python_select que permite o uso de pythons em paralelo. Então, primeiro instale as portas mac, se ainda não estiverem instaladas.
Primeiro instale o pacote python_select:
Agora você já pode verificar quais distribuições python estão disponíveis no seu sistema. Basta emitir o comando:
No meu caso, impresso na versão menos python que vem por padrão com o Snow Leopard:
python26-apple
.mostra a versão atualmente selecionada, por exemplo
python26-apple
. Como vê, este pacote brinca muito bem com o Mac. Para mais questão de opçõesEntão você pode procurar a versão python disponível no repositório de portas:
Isso produzirá uma longa lista de pítons disponíveis.
Para instalar os pacotes desejados, por exemplo, python 2.4, execute:
Agora, também
python_select -s
será mostrado o python recém-instalado. Para mudar para o problema do python 2.4:Este comando é persistente entre os shells.
fonte
Supondo que você esteja usando o bash, digite:
Isso mostrará a você todos os executáveis "python", aliases, funções internas do shell (provavelmente nenhuma) ou funções bash no seu PATH.
Isso deve ajudá-lo a identificar melhor o que está acontecendo aqui.
fonte
Você deseja criar um link simbólico para a versão desejada.
Isso remove o ponteiro atual para sua versão padrão do Python e o define para sua versão 2.6.
fonte
sudo ln -s /path/to/2.7 /usr/bin/python
. É assim que é feito no Linux e faz sentido.Não é o ideal (IMO), mas isso corrigiu todos os aplicativos procurando
python
no meu/usr/local/bin/
.sudo cp /usr/local/bin/python3 /usr/local/bin/python
Claro, depois de instalar a versão mais recente do Python.
fonte