# 2. Utilisation de Python sur les plateformes Unix

## 2.1. Récupérer et installer la dernière version de Python

### 2.1.1. Sur Linux

Python est pré-installé sur la plupart des distributions Linux, et est disponible en paquet sur toutes les autres. Cependant, il y a certaines fonctionnalités que vous voudrez utiliser qui ne seront pas disponibles sur le paquet de votre distribution. Vous pouvez facilement compiler la dernière version de Python depuis les sources.

Dans le cas où Python n’est pas pré-installé et n’est pas dans les dépôts non plus, vous pouvez facilement faire les paquets pour votre propre distribution. Jetez un œil à ces liens :

Voir aussi

https://www.debian.org/doc/manuals/maint-guide/first.fr.html

  pour les utilisateurs de Debian

https://en.opensuse.org/Portal:Packaging

  pour les utilisateurs d’OpenSuse

https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html

  pour les utilisateurs de Fedora

http://www.slackbook.org/html/package-management-making-packages.html

  pour les utilisateurs de Slackware

### 2.1.2. Sur FreeBSD et OpenBSD

- Utilisateurs de FreeBSD, pour installer le paquet, utilisez :

      pkg install python3

- Utilisateurs d’OpenBSD, pour installer le paquet, utilisez :

      pkg_add -r python

      pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz

  Par exemple les utilisateurs d”`i386` récupèrent la version 2.5.1 de Python en faisant :

      pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz

### 2.1.3. Sur OpenSolaris

Vous pouvez récupérer Python depuis OpenCSW. Différentes versions de Python sont disponibles et peuvent être installées. Exemple : `pkgutil -i python27`.

## 2.2. Compiler Python

Si vous voulez compiler CPython vous-même, la première chose à faire est de récupérer le code source. Vous pouvez télécharger la dernière version ou faire un clone. (Si vous voulez contribuer à des correctifs, il vous faut un clone.)

Le processus de compilation est le suivant :

    ./configure
    make
    make install

Les options de configuration et mises en garde pour certaines plateformes Unix spécifiques sont largement documentées dans le fichier README.rst à la racine du dossier des sources Python.

Avertissement

`make install` peut écraser ou cacher le binaire `python3`. `make altinstall` est donc recommandé à la place de `make install` puisqu’il installe seulement `exec_prefix/bin/pythonversion`.

## 2.3. Fichiers et chemins liés à Python

Ceux-ci sont sujets à des différences en fonction des conventions locales d’installation ; `prefix` (`${prefix}`) et `exec_prefix` (`${exec_prefix}`) sont dépendants de l’installation et doivent être interprétés comme pour des logiciels GNU ; ils peuvent être égaux.

Par exemple, sur la plupart des systèmes Linux, leur valeur par défaut est `/usr`.

Fichier/dossier | Signification
--- | ---
`exec_prefix/bin/python3` | Emplacement recommandé de l’interpréteur.
`prefix/lib/pythonversion`, `exec_prefix/lib/pythonversion` | Emplacements recommandés des dossiers contenant les modules standards.
`prefix/include/pythonversion`, `exec_prefix/include/pythonversion` | Emplacements recommandés des dossiers contenant les entêtes nécessaires au développement d’extensions Python et à l’intégration de l’interpréteur.

## 2.4. Divers

Pour utiliser facilement des scripts Python sur Unix, vous devez les rendre exécutables, par exemple avec

    $ chmod +x script

et mettre un shebang approprié en haut du script. Un bon choix est généralement

    #!/usr/bin/env python3

qui cherche l’interpréteur Python dans le `PATH` complet. Cependant, certains systèmes Unix peuvent ne pas avoir la commande env, donc vous devrez littéralement écrire `/usr/bin/python3` en tant que chemin d’interpréteur.

Pour utiliser des commandes shell dans vos scripts Python, regardez le module `subprocess`.

## 2.5. Éditeurs et IDEs

There are a number of IDEs that support Python programming language. Many editors and IDEs provide syntax highlighting, debugging tools, and PEP 8 checks.

Merci d’aller sur Python Editors et Integrated Development Environments pour une liste exhaustive.