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 "MacPython 3.6" folder in your "Applications" folder. In here you
  find IDLE, the development environment that is a standard part of
  official Python distributions; PythonLauncher, which handles double-
  clicking Python scripts from the Finder; and the "Build Applet"
  tool, which allows you to package Python scripts as standalone
  applications on your system.

* 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.

If you want to run Python scripts from the Terminal window command
line or from the Finder you first need an editor to create your
script. Mac OS X comes with a number of standard Unix command line
editors, **vim** and **emacs** among them. If you want a more Mac-like
editor, **BBEdit** or **TextWrangler** from Bare Bones Software (see
http://www.barebones.com/products/bbedit/index.html) are good choices,
as is **TextMate** (see https://macromates.com/). Other editors
include **Gvim** (http://macvim.org) and **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.

With Python 3.6, you can use either **python** or **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
==========

MacPython ships with the standard IDLE development environment. A good
introduction to using IDLE can be found at
https://hkn.eecs.berkeley.edu/~dyoo/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* is a Python binding to Apple's Objective-C/Cocoa framework,
which is the foundation of most modern Mac development. Information on
PyObjC is available from https://pythonhosted.org/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* is another popular cross-platform GUI toolkit that runs
natively on Mac OS X. Packages and documentation are available from
http://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
==========================================

The "Build Applet" tool that is placed in the MacPython 3.6 folder is
fine for packaging small Python scripts on your own machine to run as
a standard Mac application. This tool, however, is not robust enough
to distribute Python applications to other users.

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
