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

8

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

Fiz o download do instalador do Python 3.2 do python.org e o instalei, instalado no /Library/Frameworks/Python.framework/Versions/3.2/bin. Isso está bom por enquanto, pois posso simplesmente usar o IDLE para desenvolver. Para usar o 3.2 na linha de comando, pythontentei reordenar minha $PATHvariável. Isto é o que ~/.profileparece:

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

No entanto, pythonainda lança o 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 por um tempo, decidi 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 eu preciso que o 3.2 trabalhe com a linha de comando ou atualize o 2.6.1.

Steven Zezulak
fonte

Respostas:

5

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

Em primeiro lugar, concordo com shadesandcolour, pois você não deve modificar a cópia padrão do python que acompanha o seu mac, pois pode haver scripts que podem não funcionar corretamente quando executados com o intérprete Python 3.0+. Dito isto, para instalar o Python mais recente (3.2.2 no momento desta publicação), você deve primeiro fazer o download do instalador do Python no site oficial. Instale conforme o normal. Execute o arquivo "Update Shell Profile.command" na pasta / Applications / Python (ver).

Após a instalação do 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 "recortar" a linha "/ usr / local / bin" e "colar" 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ê digita "python" na linha de comando, o shell pesquisa primeiro em / usr / local / bin e executa a cópia mais recente do python.

alquimista
fonte
+1 desde que eu tenho tentado descobrir isso o dia todo. De fato, no Snow Leopard, se a configuração do PATH na configuração do shell não estiver funcionando, a edição /etc/pathcomo você sugeriu funcionará perfeitamente. Para mim, o problema era fazer com que os emacs gráficos e terminais reconhecessem que eu queria usar uma instalação python personalizada. Obrigado pela dica!
Jrhorn424
isso funcionou se eu também cd /usr/local/bine cp python3.7 pythone reiniciado o meu terminal.
openwonk
1

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

Primeiro, obtenha 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, uma vez que / usr / bin vem depois de / usr / local / bin e os outros que você provavelmente está usando o interpretador python do sistema:

/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 intérprete está sendo carregado no PATH, é possível fazer as alterações apropriadas no PATH e / ou nos links simbólicos. Você pode usar as mesmas técnicas para confirmar as alterações adequadas.

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

Somantra
fonte
/usr/local/bin/pythonnão existe, mas existe /usr/local/bin/python3. python3 --versiondá minha instalação (3.2). Posso simplesmente renomear esse link simbólico para pythonnão precisar digitar 3?
Steven Zezulak
Se seu PATH for encomendado corretamente (/ usr / local / bin vem depois de / usr / bin), você poderá criar um link simbólico que faça isso.
Somantra 01/07
1
Mas se / usr / bin vier depois de / usr / local / bin, ele continuará carregando o sistema python (/ usr / bin / python).
Somantra 01/07
0

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

James T Snell
fonte
0

Já fiz essa pergunta a alguém antes e fui desaconselhado a alteração da versão padrão do python, porque partes do funcionamento podem depender da versão 2.7 estar onde está. Dito isto, não é muito mais trabalho colocar o comando python3 no seu caminho. É o que estou fazendo no momento e parece bom.

bringel
fonte
0

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

Divisão por zero
fonte