Como atualizo corretamente o Python no Mac OS X

Como atualizo corretamente o Python no Mac OS X

Se eu baixar o python do site do Python e tentar instalá-lo com o instalador, ele será instalado, mas preciso especificar que desejo a nova versão do Python ao executar meus programas no terminal. Se eu apenas digitar:

python app.py

Funciona com a versão antiga.

Como posso definir a nova versão como padrão?

Responder1

Finalmente descobri como fazer isso. O instalador criou uma pasta python 2.6 em /Application Nesta pasta está um script chamado Update Shell Profile.command que eu só precisava executá-lo e agora está funcionando.

Responder2

Duas questões:

  1. Onde o novo Python foi instalado?
  2. Como é o seu $PATH?

Uma configuração padrão em sistemas do tipo Unix é que o software instalado pelo usuário seja instalado em /usr/local/bin, e a maioria das distros *nix coloca esse diretórioantesdiretórios de todo o sistema na variável padrão $PATH (que é como seu shell sabe onde procurar programas). Dessa forma, se você instalar algo novo, o novo item será encontrado primeiro.

No entanto, um OS X $PATH padrão se parece com isto:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

O problema é que ao colocar/usr/local/bintão tarde, o Python para todo o sistema (que está em/usr/bine então no início do seu $PATH) continua sendo atingido.

Minha resposta é fazer com que meu $PATH fique assim em um Mac:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Para fazer isso, crie um arquivo.perfilem seu diretório inicial e adicione algo assim:

#### Let's take care of our $PATH
# A backup of the original $PATH
# /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

# My preferred order - /usr/local goes first, damn it!
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Editar: Estou acompanhando aqui, e não nos comentários, porque está ficando muito longo para um comentário. A linha em seu.perfilcom /sw/bin/init.shvem do gerenciador de pacotesFink, que presumo que você use (ou use em algum momento). A outra linha parece sugerir que em algum momento você instalou o MacPython e ele reescreveu o seu $PATHpara você. Não conheço MacPython, mas se foresse site, então não é atualizado desde 2004. Também não parece falar de nenhuma versão do OS X além da 10.3, que não é muito atual.

Então agora estou mais confuso: quando você atualizou o Python? Como você o atualizou? Qual versão do OS X você está executando?

Responder3

Descubra onde o python mora:

$ which python
/usr/bin/python

Veja se é um link simbólico:

$ ls -Fal /usr/bin/python
lrwxr-xr-x  1 root wheel  72 May 19 12:02 /usr/bin/python@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python

Nesse caso, vincule /usr/bin/python ao novo python:

$ sudo ln -s (new python, maybe /System/Library/Frameworks/Python.framework/Versions/2.x/bin/python) /usr/bin/python

Verifique se funciona:

$ python --version
Python 2.xxx

informação relacionada