4. Utilizando Python em um Mac
******************************

Autor:
   Bob Savage <bobsavage@mac.com>

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


4.1. Obtendo e instalando MacPython
===================================

O Mac OS X 10.8 vem com o Python 2.7 pré-instalado pela Apple. Se
desejar, você está convidado a instalar a versão mais recente do
Python 3 no site do Python (https://www.python.org). Uma versão atual
do "binário universal" do Python, que funciona nativamente nas novas
CPUs Intel e PPC herdadas 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.8" na sua pasta "Applications". Aqui você encontra
  o IDLE, o ambiente de desenvolvimento que é parte padrão das
  distribuições oficiais do Python; e PythonLauncher, 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 MacPython, você
  pode simplesmente remover essas três coisas. Um link simbólico para
  o executável Python é colocado em /usr/local/bin/.

A compilação do Python fornecida 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 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.


4.1.1. Como executar um script Python
-------------------------------------

A melhor maneira de você começar o uso do Python no Mac OS X é 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 Mac OS X vem com vários editores de linha de comando padrão
do Unix, entre os quais **vim** e **emacs**. Se você deseja um editor
mais ao estilo do Mac, **BBEdit** ou **TextWrangler** da Bare Bones
Software (consulte
http://www.barebones.com/products/bbedit/index.html) são boas escolhas
, como é **TextMate** (consulte https://macromates.com/). Outros
editores incluem **Gvim** (http://macvim-dev.github.io/macvim/) e
**Aquamacs** (http://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 **PythonLauncher**

* Selecionar **PythonLauncher** 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. **PythonLauncher** possui 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.


4.1.2. Executando scripts como uma GUI
--------------------------------------

Nas versões mais antigas do Python, há uma peculiaridade do Mac OS X
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.8, você pode usar **python** ou **pythonw**.


4.1.3. Configuração
-------------------

O Python no OS X 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 Documento Técnico da Apple
QA1067 para obter detalhes.

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


4.2. A IDE
==========

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


4.3. Instalando pacotes adicionais ao python
============================================

Existem vários métodos para instalar pacotes Python adicionais:

* Os pacotes podem ser instalados através do modo distutils padrão do
  Python ("python setup.py install").

* Muitos pacotes também podem ser instalados através da extensão
  **setuptools** ou do wrapper **pip**. Consulte https://pip.pypa.io/.


4.4. Programação de GUI no Mac
==============================

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.

*wxPython* é outro popular kit de ferramentas de GUI multiplataforma
que funciona nativamente no Mac OS X. Pacotes e documentação estão
disponíveis em https://www.wxpython.org.

*PyQt* é outro popular kit de ferramentas de GUI multiplataforma que
funciona nativamente no Mac OS X. Mais informações podem ser
encontradas em https://riverbankcomputing.com/software/pyqt/intro.


4.5. Distribuindo aplicações Python no Mac
==========================================

A ferramenta padrão para implantar aplicações Python independentes no
Mac é **py2app**. Mais informações sobre a instalação e o uso do
py2app podem ser encontradas em http://undefined.org/python/#py2app.


4.6. Outros recursos
====================

A lista de discussão do MacPython é 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
