# 4. Utilisation de Python sur un Macintosh

Author

  Bob Savage <bobsavage@mac.com>

Python sur un Macintosh exécutant Mac OS X est en principe très similaire à Python sur n’importe quelle autre plateforme Unix, mais il y a un certain nombre de fonctionnalités additionnelle telle que l’IDE et le gestionnaire de packages qui méritent d’être soulignées.

The Mac-specific modules are documented in Mac OS X specific services.

Python on Mac OS 9 or earlier can be quite different from Python on Unix or Windows, but is beyond the scope of this manual, as that platform is no longer supported, starting with Python 2.4. See http://www.cwi.nl/~jack/macpython for installers for the latest 2.3 release for Mac OS 9 and related documentation.

## 4.1. Obtenir et installer MacPython

Mac OS X 10.8 comes with Python 2.7 pre-installed by Apple. If you wish, you are invited to install the most recent version of Python from the Python website (https://www.python.org). A current « universal binary » build of Python, which runs natively on the Mac’s new Intel and legacy PPC CPU’s, is available there.

Vous obtiendrez un certain nombre de choses après installation:

- A `MacPython 2.7` 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.

- Un framework `/Library/Frameworks/Python.framework`, qui inclut l’exécutable Python et ses bibliothèques. L’installateur ajoute ce chemin à votre PATH. Pour désinstaller MacPython, vous pouvez simplement supprimer ces trois choses. Un lien symbolique vers l’exécutable Python est placé dans `/usr/local/bin/`.

Le build Python fourni par Apple est installé dans `/System/Library/Frameworks/Python.framework` et `/usr/bin/python`. Vous ne devriez jamais les modifier ou supprimer, car ils sont contrôlés et utilisés par Apple (ou d’autres logiciels). Rappelez vous que si vous choisissez d’installer un Python plus récent depuis python.org, vous aurez deux installations de Python différentes et fonctionnelles sur votre ordinateur, il est donc important que vos chemins et utilisations soit cohérentes avec ce que vous voulez faire.

IDLE inclut un menu d’aide qui vous permet d’accéder à la documentation Python. Si vous êtes entièrement novice, vous devriez commencer par lire le tutoriel d’introduction dans ce document.

Si vous êtes familier avec Python sur d’autres plateformes Unix, vous devriez lire la section sur comment exécuter des scripts Python depuis un shell Unix.

### 4.1.1. Comment exécuter un script Python

Le meilleur moyen de démarrer avec Python sur Max OS X est d’utiliser l’environnement de développement intégré IDLE, voir la section L”IDE et utilisez le menu d’aide (Help) quand l”`IDE` est lancé.

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/).

Pour exécuter votre script depuis la fenêtre Terminal, vous devez vous assurer que `/usr/local/bin` est dans le chemin de recherche de votre shell (PATH).

Pour exécuter votre script depuis le Finder vous avez deux options :

- Glissez-le vers PythonLauncher

- Sélectionnez PythonLauncher en tant qu’application par défaut pour ouvrir votre script (ou n’importe quel script `.py`) depuis la fenêtre info de votre Finder puis double-cliquez votre script. PythonLauncher a des préférences variées pour contrôler comment votre script est exécuté. Glisser des options permets de les changer pour une invocation, ou utilisez le menu Préférences pour changer les choses globalement.

### 4.1.2. Lancer des scripts avec une interface graphique

Avec les anciennes versions de Python, il y a une bizarrerie Max OS X dont vous devez être au courant : les programmes qui communiquent avec le gestionnaires de fenêtre Aqua (en d’autres termes, tout ce qui a une interface graphique) doivent être exécutés de façon spécifique. Utilisez pythonw au lieu de python pour exécuter ce genre de scripts.

With Python 2.7, you can use either python or pythonw.

### 4.1.3. Configuration

Python sur OS X respecte tous les standards Unix pour les variables d’environnement comme `PYTHONPATH`, mais définir ces variables pour des programmes exécutés depuis le Finder n’est pas standard car le Finder ne lit pas votre `.profile` ou `.cshrc` au démarrage. Vous devez créer un fichier `~/.MacOSX/environment.plist`. Voir le document technique d’Apple QA1067 pour plus de détails.

Pour plus d’informations sur l’installation de paquets Python dans MacPython, voir la section Installation de paquets Python additionnels.

## 4.2. L”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. Installation de paquets Python additionnels

Il y a plusieurs méthodes pour installer des paquets Python supplémentaires :

- Les paquets peuvent être installés en utilisant distutils (`python setup.py install`).

- Beaucoup de paquets peuvent aussi être installés via l’extension setuptools ou pip, voir https://pip.pypa.io/.

## 4.4. Programmation d’interface graphique sur le Mac

Il y a plusieurs options pour construire des applications avec interface graphique sur le Mac avec Python.

PyObjC est un binding Python vers le framework Objective-C/Cocoa d’Apple, qui est la base de la plupart des développements modernes sur Mac. Des informations sur PyObjC sont disponible à https://pythonhosted.org/pyobjc/.

The standard Python GUI toolkit is `Tkinter`, based on the cross-platform Tk toolkit (https://www.tcl.tk). An Aqua-native version of Tk is bundled with OS X by Apple, and the latest version can be downloaded and installed from https://www.activestate.com; it can also be built from source.

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 est une boîte à outils multi-plateformes pour interfaces graphique populaire qui tourne nativement sur Mac OS X. Plus d’informations disponible sur https://riverbankcomputing.com/software/pyqt/intro.

## 4.5. Distribuer des Applications Python sur le Mac

The « Build Applet » tool that is placed in the MacPython 2.7 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.

L’outil standard pour déployer des applications Python sur le Mac est py2app. Plus d’information sur l’installation et l’utilisation de py2app sur http://undefined.org/python/#py2app.

## 4.6. Autres ressources

La liste de diffusion courriel MacPython est une excellente ressource support pour les utilisateurs et développeurs Python sur Mac :

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

Une autre ressource utile est le wiki MacPython :

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