Artigo original: How to Install Python 3 on Mac – Brew Install Update Tutorial

O macOS vem com o Python pré-instalado. Sua versão do Python, contudo, é a 2.7, que agora já está deprecada (abandonada pela comunidade de desenvolvedores do Python).

Toda a comunidade do Python já passou a usar o Python 3.x (a versão atual, no momento em que escrevo é a 3.10.1). E o Python 4.x será lançado logo, mas será totalmente retrocompatível.

Se você tentar executar o Python no seu terminal do macOS, receberá este alerta:

freecodecamp_-_freecodecamp_MacBook-Pro_-___-_-zsh_-_84-24-1
"AVISO: O Python 2.7 não é recomendado. Esta versão está incluída no macOS por questões de compatibilidade com software legado. Versões futuras do macOS não incluirão o Python 2.7. Em vez disso, recomendamos que você mude para o 'python3' a partir do Terminal."

Até que a Apple decida incluir o Python 3.x como padrão, você terá de instalá-lo por conta própria.

Um único comando para executar o Python 3

Para alguns de vocês que estiverem lendo isso, esse comando será o suficiente. Você pode rodar o Python 3 usando esse comando (com o 3 ao final).

python3

Se é para isso que você veio ler este artigo, está resolvido. Tenha um ótimo dia e feliz programação.

No entanto, se você quiser um sistema de controle de versão do Python adequada para acompanhar as várias versões – e ter um controle refinado de qual sessão você utilizará – este tutorial mostrará para você com exatidão como conseguir isso.

Megaman-810x600
A propósito, se você está se perguntando o motivo de eu seguir me referindo ao Python 3.x – o x é um substituto para as versões menores (ou releases pontuais, como os desenvolvedores costumam chamar). Isso significa qualquer versão do Python 3.

Como instalar o Homebrew no Mac

Primeiro, você precisa instalar o Homebrew, um gerenciador de pacotes poderoso para o Mac.

Abra seu terminal. Você pode fazer isso usando o Spotlight no macOS (command+barra de espaço) e digitando "terminal".

Agora que você está na linha de comando, pode instalar a versão mais recente do Homebrew executando este comando:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Seu terminal pedirá pelo acesso em nível de superusuário. Você precisa digitar sua senha para executar esse comando. É a mesma senha que você usa para fazer o login no Mac. Digite-a e aperte Enter.

freecodecamp_-__bin_bash_-c__-__bin_bash_-_sudo_-_bash_-c____bin_bash_012set_-u_012_012abort___-_012__printf___s_n_______012__exit_1_012-_012_012if___-z___-BASH_VERSION_--_____then_012__abort__Bash_is_required_to_i
Uma imagem do meu terminal altamente customizado. Seu terminal provavelmente terá uma aparência diferente.

O Homebrew pedirá a você que confirme se deseja instalar o seguinte. Você precisa pressionar Enter para continuar (ou qualquer outra tela, caso você desista).

freecodecamp_-__bin_bash_-c__-__bin_bash_-_bash_-c____bin_bash_012set_-u_012_012abort___-_012__printf___s_n_______012__exit_1_012-_012_012if___-z___-BASH_VERSION_--_____then_012__abort__Bash_is_required_to_interpre

Como instalar o pyenv para gerenciar suas versões do Python

Agora, vamos aproveitar para instalar o PyEnv. Esta biblioteca ajudará você a alternar entre as diversas versões do Python (caso você deseje executar o Python 2.x por algum motivo, e antecipando o Python 4.0 que está para chegar).

Execute este comando:

brew install pyenv
freecodecamp_-_freecodecamp_MacBook-Pro_-___-_-zsh_-_90-24
Instalação do PyEnv

Agora, você pode instalar a versão mais recente do Python.

Como usar o pyenv para instalar o Python ou atualizar sua versão do Python

Agora, você precisa executar o seguinte comando:

pyenv install 3.10.1 

Observe que você pode substituir 3.10.1 ou seja qual for a versão mais recente do Python. Por exemplo, quando o Python 4.0.0 vier, você poderá executar o seguinte:

pyenv install 4.0.0

Solução de problemas na instalação do pyenv

Se você encontrar um erro dizendo "C compiler cannot create executables" ("o compilador do C não consegue criar os executáveis), a maneira mais simples de resolver isso é reinstalar o Xcode da Apple.

O Xcode é uma ferramenta criada pela Apple que inclui todas as bibliotecas do C e outras ferramentas que o Python usa quando ele é executado no macOS. O Xcode tem 11 gigabytes, mas você vai querer estar atualizado. Você pode deixar rodando essa atualização enquanto dorme.

Você pode obter a versão mais recente do Xcode da Apple aqui. Eu precisei fazer isso após atualizar para o macOS Big Sur, mas, depois de ter feito isso, todos os comandos funcionaram bem. Então, simplesmente execute novamente o comando pyenv install 3.10.1 e tudo funcionará bem.

Como configurar o PATH do seu macOS para o pyenv (Bash ou ZSH)

Primeiro, você precisa atualizar seu path do Unix para abrir caminho para que o PyEnv consiga interagir com seu sistema.

A explicação de como o PATH funciona no macOS (e no Unix) é longa, vinda diretamente do repositório do pyenv no GitHub (em inglês).

Ao executar um comando como python ou pip, seu sistema operacional busca em uma lista de diretórios pelo arquivo executável com aquele nome. Essa lista de diretórios está em uma variável de ambiente chamada PATH, e cada diretório na lista é separado por dois pontos:
/usr/local/bin:/usr/bin:/bin
Diretórios no PATH são pesquisados da esquerda para a direita. Desse modo, um executável correspondente em um diretório no começo da lista tem precedência sobre outro ao final. Neste exemplo, o diretório /usr/local/bin será pesquisado primeiro, seguido de /usr/bin e logo após de /bin.

Abaixo vemos a explicação deles sobre o que é um Shim. Estou fazendo aqui a citação por completo porque não consigo explicar isso de maneira melhor por minha conta.

O pyenv funciona inserindo um diretório "shims" no começo do PATH:
$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
Por meio de um processo chamado rehashing, o pyenv mantém shims naquele diretório que correspondam a cada comando do Python em cada versão instalada do Python—python, pip e assim por diante.
Shims são executáveis leves que simplesmente passam seu comando para o pyenv.

Aqui está o modo de atualizar seu .bash_profile no Bash (que vem instalado no macOS por padrão):

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

Ou, se tiver instalado o ZSH (ou o OhMyZSH), como eu, você vai querer editar o arquivo .zshrc em vez disso:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

Em seguida, adicione PyEnv Init ao seu terminal. Execute esse comando se estiver utilizando o Bash (novamente, essa é a versão padrão do macOS):

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

Ou execute esse comando se estiver usando o ZSH:

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

Agora, reinicie o seu terminal rodando este comando:

reset

Como definir uma versão do Python como padrão global (Bash ou ZSH)

Você pode definir a versão mais recente do Python como a global, o que significa que ela será a versão padrão do Python que o macOS usará ao executar aplicações do Python.

Execute este comando:

pyenv global 3.9.2

Neste caso, você pode substituir 3.9.2 pela versão mais recente seja qual for.

Você agora pode verificar se isso funcionou conferindo a versão global do Python:

pyenv versions

Você deverá ver um resultado como este:

freecodecamp_-_freecodecamp_MacBook-Pro_-_-zsh_-_84-24
O * significa que aquela versão é agora o padrão global

A etapa final: feche seu terminal e reinicie-o

Depois de reiniciar seu terminal, você executará o comando python e passará a usar a nova versão do Python em vez da antiga.

freecodecamp_-_python_-_python_-_python_-_119-36
Viva! O Python 3.9.2 estás instalado e sem avisos de que está desatualizado

Parabéns. Obrigado pela leitura e feliz programação.