# 5. Utilizando Python em um Mac

Autor:

  Bob Savage <bobsavage@mac.com>

O Python em um Mac executando o macOS é, em princípio, muito semelhante ao Python em qualquer outra plataforma Unix, mas há vários recursos adicionais, como o ambiente integrado de desenvolvimento (IDE) e o Gerenciador de Pacotes, que merecem destaque.

## 5.1. Obtendo e instalando o Python

O macOS costumava vir com o Python 2.7 pré-instalado entre as versões 10.8 e 12.3. Convidamos você a instalar a versão mais recente do Python 3 no site do Python.. Uma versão atual do “binário universal2” do Python, que funciona nativamente nos novos processadores Apple Silicon e nos legados Intel do Mac, está disponível lá.

O que você obtém após a instalação é uma série de coisas:

- A pasta `Python 3.11` na sua pasta `Applications`. Aqui você encontra o IDLE, o ambiente de desenvolvimento que é parte padrão das distribuições oficiais do Python; e Python Launcher, que lida com scripts de Python clicando duas vezes no Finder.

- Um framework `/Library/Frameworks/Python.framework`, que inclui o executável e as bibliotecas do Python. O instalador adiciona esse local ao seu caminho do console. Para desinstalar o Python, você pode remover essas três coisas. Um link simbólico para o executável Python é colocado em `/usr/local/bin/`.

Nota

No macOS da versão 10.8 ao 12.3, a construção do Python fornecido pela Apple é instalada em `/System/Library/Frameworks/Python.framework` e `/usr/bin/python`, respectivamente. Você nunca deve modificá-las ou excluí-las, pois elas são controladas pela Apple e são usadas por software da Apple ou de terceiros. Lembre-se de que, se você optar por instalar uma versão mais recente do Python a partir do python.org, terá duas instalações Python diferentes, mas funcionais, no seu computador, por isso será importante que seus caminhos e usos sejam consistentes com o que você deseja fazer.

O IDLE inclui um menu Help (de ajuda) que permite acessar a documentação do Python. Se você é completamente novo no Python, comece a ler a introdução do tutorial nesse documento.

Se você está familiarizado com o Python em outras plataformas Unix, leia a seção sobre a execução de scripts Python no shell do Unix.

### 5.1.1. Como executar um script Python

A melhor maneira de você começar o uso do Python no macOS é através do ambiente de desenvolvimento integrado IDLE. Consulte a seção A IDE e use o menu Help quando o IDE estiver em execução.

Se você deseja executar scripts Python na linha de comando da janela Terminal ou no Finder, primeiro precisa de um editor para criar seu script. O macOS vem com vários editores de linha de comando padrão do Unix, entre os quais vim e nano. Se você deseja um editor mais ao estilo do Mac, BBEdit da Bare Bones Software (consulte https://www.barebones.com/products/bbedit/index.html) são boas escolhas , como é TextMate (consulte https://macromates.com). Outros editores incluem MacVim (https://macvim.org) e Aquamacs (https://aquamacs.org).

Para executar seu script a partir da janela do Terminal, você deve se certificar de que `/usr/local/bin` esteja no seu caminho de pesquisa do shell.

Para executar seu script no Finder, você tem duas opções:

- Arrastá-lo para o Python Launcher.

- Selecionar Python Launcher como aplicação padrão para abrir seu script (ou qualquer script `.py`) através da janela de Informações do Finder e clique duas vezes nele. Python Launcher tem várias preferências para controlar como o script é iniciado. Arrastar com opções permite alterar esses itens para uma chamada ou usar o menu Preferências para alterar as coisas globalmente.

### 5.1.2. Executando scripts como uma GUI

Nas versões mais antigas do Python, há uma peculiaridade do macOS que você precisa conhecer: os programas que conversam com o gerenciador de janelas Aqua (em outras palavras, qualquer coisa que tenha uma GUI) precisam ser executados de uma maneira especial. Use pythonw em vez de python para iniciar esses scripts.

Com o Python 3.9, você pode usar python ou pythonw.

### 5.1.3. Configuração

O Python no macOS honra todas as variáveis de ambiente padrão do Unix, como `PYTHONPATH`, mas definir essas variáveis para programas iniciados no Finder não é padrão, pois o Finder não lê o seu `.profile` ou `.cshrc` na inicialização. Você precisa criar um arquivo `~/.MacOSX/environment.plist`. Consulte o Technical Q&A QA1067 para obter detalhes.

Para obter mais informações sobre a instalação de pacotes Python, consulte a seção Instalando pacotes adicionais ao python.

## 5.2. A IDE

O Python é fornecido com o ambiente de desenvolvimento IDLE padrão. Uma boa introdução ao uso do IDLE pode ser encontrada em https://www.hashcollision.org/hkn/python/idle_intro/index.html.

## 5.3. Instalando pacotes adicionais ao python

Esta seção foi movida para o Guia de Usuário para Empacotamento de Python.

## 5.4. Programação de GUI

Existem várias opções para criar aplicações GUI no Mac com Python.

PyObjC é uma ligação do Python para o framework Objective-C/Cocoa da Apple, que é a base do desenvolvimento mais moderno do Mac. Informações sobre PyObjC estão disponíveis em https://pypi.org/project/pyobjc/.

O kit de ferramentas de GUI padrão do Python é `tkinter`, baseado no kit de ferramentas plataforma cruzada Tk (https://www.tcl.tk). Uma versão nativa do Aqua do Tk é fornecida com o OS X da Apple, e a versão mais recente pode ser baixada e instalada em https://www.activestate.com; também pode ser construído a partir do código-fonte.

Vários kits de ferramentas alternativos da GUI do macOS estão disponíveis:

- PySide: Ligações oficiais do Python ao Qt GUI toolkit.

- PyQt: Ligações alternativas do Python ao Qt.

- Kivy: Um kit de ferramentas GUI multiplataforma que oferece suporte a plataformas desktop e móveis.

- Toga: Parte do Projeto BeeWare; oferece suporte a aplicativos de desktop, dispositivos móveis, web e console.

- wxPython: Um kit de ferramentas multiplataforma que oferece suporte a sistemas operacionais de desktop.

## 5.5. Distribuindo aplicações Python

Existe uma variedade de ferramentas para converter seu código Python em uma aplicação distribuível independente:

- py2app: Suporta a criação de pacotes `.app` do macOS a partir de um projeto Python.

- Briefcase: Parte do Projeto BeeWare; uma ferramenta de empacotamento multiplataforma que suporta a criação de pacotes `.app` no macOS, bem como o gerenciamento de assinatura e reconhecimento de firma.

- PyInstaller: Uma ferramenta de empacotamento multiplataforma que cria um único arquivo ou pasta como um artefato distribuível.

## 5.6. Outros recursos

A lista de discussão do Pythonmac-SIG é um excelente recurso de suporte para usuários e desenvolvedores de Python no Mac:

https://www.python.org/community/sigs/current/pythonmac-sig/

Outro recurso útil é o wiki do MacPython:

https://wiki.python.org/moin/MacPython