# 5. Usando Python en un Mac

Autor

  Bob Savage <bobsavage@mac.com>

Python en una Mac que ejecuta macOS es, en principio, muy similar a Python en cualquier otra plataforma Unix, pero hay una serie de características adicionales como el IDE y el Administrador de paquetes que vale la pena señalar.

## 5.1. Obteniendo e instalando MacPython

macOS desde la versión 10.8 viene con Python 2.7 preinstalado por Apple. Si lo desea, está invitado a instalar la versión más reciente de Python 3 desde el sitio web de Python (https://www.python.org). Allí está disponible una compilación «binaria universal» actual de Python, que se ejecuta de forma nativa en las nuevas CPU Intel y PPC heredadas de Mac.

Lo que obtienes después de instalar es una serie de cosas:

- Una carpeta `Python 3.9` en su carpeta `Applications`. Aquí encontrará IDLE, el entorno de desarrollo que es una parte estándar de las distribuciones oficiales de Python; y PythonLauncher, que se encarga de hacer doble clic en los scripts de Python desde el Finder.

- Un framework `/Library/Frameworks/Python.framework`, el cual incluye los ejecutables y librerías de Python. El instalador añade esta ubicación a su variable de entorno. Para desinstalar MacPython, usted puede simplemente remover estas tres cosas. Un enlace simbólico al ejecutable de Python es colocado en /usr/local/bin/.

La compilación proporcionada por Apple de Python se instala en `/System/Library/Frameworks/Python.framework` y `/usr/bin/python`, respectivamente. Nunca debe modificarlos ni eliminarlos, ya que están controlados por Apple y son utilizados por software de Apple o de terceros. Recuerde que si elige instalar una versión más reciente de Python desde python.org, tendrá dos instalaciones de Python diferentes pero funcionales en su computadora, por lo que será importante que sus rutas y usos sean consistentes con lo que desea hacer.

IDLE incluye un menú de ayuda que le permite acceder a la documentación de Python. Si es completamente nuevo en Python, debe comenzar a leer la introducción del tutorial en ese documento.

Si está familiarizado con Python en otras plataformas Unix, debe leer la sección sobre cómo ejecutar scripts Python desde el shell de Unix.

### 5.1.1. Cómo ejecutar un script de Python

La mejor manera de comenzar con Python en macOS es a través del entorno de desarrollo integrado IDLE, consulte la sección El IDE y use el menú Ayuda cuando el IDE se está ejecutando.

Si desea ejecutar scripts de Python desde la línea de comandos de la ventana de Terminal o desde el Finder, primero necesita un editor para crear su script. macOS viene con varios editores de línea de comandos estándar de Unix, entre ellos vim y emacs. Si desea un editor más parecido a Mac, BBEdit o TextWrangler de Bare Bones Software (consulte http://www.barebones.com/products/bbedit/index.html) son buenas opciones , como también lo es TextMate (ver https://macromates.com/). Otros editores incluyen Gvim (http://macvim-dev.github.io/macvim/) y Aquamacs (http://aquamacs.org/).

Para ejecutar su script desde la ventana Terminal, debe asegurarse de que: `/usr/local/bin` esté en su ruta de búsqueda de shell.

Para ejecutar su script desde el Finder, tiene dos opciones:

- Arrástrelo a PythonLauncher

- Seleccione PythonLauncher como aplicación predeterminada para abrir su script (o cualquier script .py) a través de la ventana de información del buscador y haga doble clic en ella. PythonLauncher tiene varias preferencias para controlar cómo se inicia su secuencia de comandos. La opción de arrastrar le permite cambiarlos para una invocación, o usar su menú de Preferencias para cambiar las cosas globalmente.

### 5.1.2. Ejecutar scripts con una GUI

Con las versiones anteriores de Python, hay una peculiaridad de macOS que debe tener en cuenta: los programas que se comunican con el administrador de ventanas Aqua (en otras palabras, cualquier cosa que tenga una GUI) deben ejecutarse de una manera especial. Utilice pythonw en lugar de python para iniciar dichos scripts.

Con Python 3.9, usted podrá utilizar ya sea python o pythonw.

### 5.1.3. Configuración

Python en macOS respeta todas las variables de entorno estándar de Unix, como `PYTHONPATH`, pero la configuración de estas variables para los programas iniciados desde el Finder no es estándar, ya que el Finder no lee su `.profile` o `.cshrc` al inicio. Necesita crear un archivo `~/.MacOSX/environment.plist`. Consulte el documento técnico QA1067 de Apple para obtener más detalles.

Para obtener más información sobre la instalación de paquetes de Python en MacPython, consulte la sección Instalación de paquetes adicionales de Python.

## 5.2. El IDE

MacPython se entrega con el entorno de desarrollo IDLE estándar. Se puede encontrar una buena introducción al uso de IDLE en http://www.hashcollision.org/hkn/python/idle_intro/index.html.

## 5.3. Instalación de paquetes adicionales de Python

Existen varios métodos para instalar paquetes Python adicionales:

- Los paquetes se pueden instalar a través del modo distutils estándar de Python (`python setup.py install`).

- Muchos paquetes también se pueden instalar a través de la extensión setuptools o el wrapper pip, consulte https://pip.pypa.io/.

## 5.4. Programación de GUI en Mac

Hay varias opciones para crear aplicaciones GUI en Mac con Python.

PyObjC es un enlace de Python al framework Objective-C/Cocoa de Apple, que es la base del desarrollo más moderno de Mac. La información sobre PyObjC está disponible en https://pypi.org/project/pyobjc/.

El kit de herramientas estándar de Python GUI es `tkinter`, basado en el kit de herramientas Tk multiplataforma (https://www.tcl.tk). Apple incluye una versión nativa de Aqua de Tk, y la última versión puede ser descargada e instalada desde https://www.activestate.com; También se puede incorporar desde la fuente.

wxPython es otro popular kit de herramientas de interfaz gráfica de usuario multiplataforma que se ejecuta de forma nativa en macOS. Los paquetes y la documentación están disponibles en https://www.wxpython.org.

PyQt es otro popular kit de herramientas de interfaz gráfica de usuario multiplataforma que se ejecuta de forma nativa en macOS. Puede encontrar más información en https://riverbankcomputing.com/software/pyqt/intro.

## 5.5. Distribuyendo aplicaciones de Python en la Mac

The standard tool for deploying standalone Python applications on the Mac is py2app. More information on installing and using py2app can be found at https://pypi.org/project/py2app/.

## 5.6. Otros recursos

La lista de correo de MacPython es un excelente recurso de soporte para usuarios y desarrolladores de Python en Mac:

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

Otro recurso útil es el wiki de MacPython:

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