Como faço para atualizar corretamente o Python no Mac OS X

6

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

python app.py

Ele é executado com a versão antiga.

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

    
por Philippe Mongeau 25.08.2009 / 22:20

3 respostas

7

Eu finalmente encontrei como fazer isso. O instalador fez uma pasta python 2.6 em / Application Nesta pasta é um script chamado Update Shell Profile.command Eu só precisava executá-lo e agora está funcionando.

    
por 26.08.2009 / 20:10
5

Duas perguntas:

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

Uma configuração padrão em sistemas tipo Unix é que o software instalado pelo usuário é instalado em / usr / local / bin, e a maioria das distribuições * nix colocam esse diretório antes de diretórios em todo o sistema. a variável $ PATH padrão (que é como o seu shell sabe onde procurar por 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 isso:

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

O problema é que colocando / usr / local / bin tão tarde, o Python em todo o sistema (que está em / usr / bin e mais cedo em 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 .profile em seu diretório pessoal 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, em vez de comentar, porque está ficando muito longo para um comentário. A linha em seu .profile com /sw/bin/init.sh vem do gerenciador de pacotes Fink , que estou assumindo você usa (ou usado em algum momento). A outra linha parece sugerir que em algum momento você instalou o MacPython e reescreveu seu $PATH para você. Eu não conheço o MacPython, mas se é este site , ele não é atualizado desde 2004. Ele também parece não falar sobre qualquer versão do OS X além do 10.3, o que não é muito atual.

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

    
por 25.08.2009 / 22:32
-1

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

Se sim, ligue / 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
    
por 25.08.2009 / 22:33