web-dev-qa-db-pt.com

Como posso atualizar o Python instalação / corrigir meu $ PATH no Mac OS X 10.6.7 padrão?

Sei que essa pergunta já foi feita antes neste site e encontrei algumas discussões valiosas, mas as soluções que encontrei e tentei não funcionam. Eu quero aprender Python e estou tendo problemas para configurá-lo adequadamente no meu Mac. Estou executando o OS X 10.6.7.

Baixei o instalador Python 3.2 de python.org e instalei-o, que foi instalado em /Library/Frameworks/Python.framework/Versions/3.2/bin. Por enquanto, isso é bom, pois posso simplesmente usar o IDLE para desenvolver. Para usar o 3.2 na linha de comando usando python eu tentei reordenar meu $PATH variável. Isso é o que ~/.profile parece:

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

No entanto, python ainda inicia 2.6.1:

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

Depois de lutar com isso por um tempo, decidi que deveria simplesmente desinstalar o 3.2 e tentar atualizar a instalação do sistema do Python. Não tenho certeza de como fazer isso corretamente, então preciso fazer o 3.2 funcionar com a linha de comando ou atualizar o 2.6.1.

8
Steven Zezulak

Acabei de resolver esse problema instalando o Python 3.2.2 no meu Mac OS X Lion, então pensei em postar como fiz isso na esperança de que alguém possa achar útil.

Em primeiro lugar, concordo com tons e cores em que você não deve modificar a cópia padrão de python que veio com seu mac porque pode haver scripts que podem não funcionar corretamente quando executados usando o Python 3.0+. Dito isso, para instalar o último Python (3.2.2 no momento desta postagem), você deve primeiro baixar o instalador Python do site oficial. Instale como de costume. Execute o arquivo "Update Shell Profile.command" na pasta/Applications/Python (ver).

Após a instalação de python, você precisa editar seu caminho digitando "Sudo nano/etc/caminhos" na linha de comando. Em seguida, digite sua senha quando solicitado. Em seguida, basta "cortar" o linha "/ usr/local/bin" e "cole" ANTES da ocorrência de "/ usr/bin". Salve o arquivo, feche todos os terminais abertos e execute uma nova instância do terminal. Agora, quando você digitar "python" no linha de comando, o Shell pesquisará em/usr/local/bin primeiro e executará a cópia mais recente do python.

5
lightalchemist

Pela minha experiência, usar links simbólicos junto com um PATH corretamente ordenado é a maneira de ter várias versões de Python coexistindo no OS X ou em qualquer outro nix que eu possa imaginar. OS X é apenas um pouco pateta, mas funciona da mesma maneira.

Obtenha primeiro a imagem completa executando os seguintes comandos:

which python

Então:

ls -la /usr/bin/python*

e compare com:

ls -la /usr/local/bin/python*

Veja para onde os links simbólicos estão apontando.

Com base no PATH que você postou, já que/usr/bin vem depois de/usr/local/bin e os outros, você provavelmente está usando o interpretador System python:

/usr/bin/python

Se você instalou o python3.0, ele provavelmente será executado como:

/usr/local/bin/python

Agora que você sabe o que está apontando para onde e qual interpretador está sendo carregado do PATH, você pode fazer as alterações apropriadas no PATH e/ou links simbólicos. Você pode então usar as mesmas técnicas para confirmar as alterações adequadas.

Para obter mais informações úteis sobre a instalação do python no macOS, consulte mergulhe no python e farmdev .

1
Somantra

Talvez se você instalar Python via MacPorts, ele atualizará a versão do sistema. Na verdade, suspeito que não, pois isso parece meio arriscado para mim. Mas você pode querer verificar o que o MacPorts faz quando você instala Python com ele.

0
James T Snell

Se você usou o instalador, seu python está em/usr/local/bin/python3. Os caminhos também devem ser atualizados automaticamente para se tornarem disponíveis como python3 em seu terminal. O python antigo ainda está disponível e pode ser usado por outros sistemas.

0
Division by Zero

Eu fiz essa pergunta a alguém antes e fui aconselhado a não alterar a versão padrão de python porque partes do funcionamento podem depender da versão 2.7 estar onde está. muito mais trabalho para colocar o comando python3 em seu caminho. É o que estou fazendo no momento e parece bom.

0
bringel