3.2. Installation et initialisation

3.2.1. Installation de Python

3.2.1.1. UNIX

Dans la plupart des cas, Python est préinstallé sur les systèmes UNIX (MacOS compris). Toutefois, la version installée est peut-être trop ancienne, et en ce cas il faut installer une plus récente.

Afin de vérifier la version installée, tapez dans votre terminal [1] :

$ python -V

La sortie de la commande devrait être quelque chose comme :

Python 2.7.2

Ou encore :

Python 3.2.1

Si la version est inférieure à la 3.0, alors il faut en installer une plus récente. Il faut être prudent quant à la coexistence de plusieurs versions de Python qui peut entrainer des incompatibilités.

Footnotes

[1]Il est accessible dans Applications ‣ Utilitaires ‣ Terminal sous MacOS.

3.2.1.1.1. Linux

La démarche la plus simple sous Linux est d’installer une version depuis les dépôts. Pour ce faire, utiliser votre gestionnaire de logiciels (Synaptic ou apt-get sous Debian par exemple) pour chercher la dernière version 3 disponible. Voici quelques exemples d’installation :

  • Debian et dérivés (dont Ubuntu) : sudo apt-get install python3
  • ArchLinux : pacman -S python3
  • Fedora : yum install python3

Il peut arriver que la version 3 ne soit pas disponible dans les dépôts, en ce cas il faut compiler soi-même une version de Python depuis les sources (trouvées sur http://www.python.org/download/), mais ceci dépasse le cadre de ce livre. Avant d’en arriver là, vérifier si le nom du paquet n’est pas légèrement différent (par exemple python3.x au lieu de python3).

3.2.1.1.2. MacOS

L’installation à l’aide de brew doit fonctionner :

brew info python3

Sinon il peut être nécessaire là aussi de compiler les sources.

En autre recours, il est possible de consulter cette page : http://www.python.org/download/mac/.

3.2.1.2. Windows

Python n’est presque jamais installé sous Windows, il faut donc le faire soi-même après l’avoir téléchargé : http://www.python.org/download/. Choisir « Python 3.x Windows x86 MSI Installer (Windows binary — does not include source) ». [2]

Il est conseillé de l’installer dans un dossier à la racine de C:, par exemple dans C:\python.

Il convient ensuite d’ajouter Python au PATH de Windows, ce qui permettra de lancer les scripts directement par un double-clic. Pour ce faire :

  1. Clic droit sur “Poste de travail”.
  2. Propriétés.
  3. Onglet “Avancé”.
  4. Bouton “Variables d’environnement”.
  5. Dans la section “Variables systèmes”, sélection “Path” et appuyer sur “Modifier”.
  6. Ajouter un point-virgule, suivi du chemin vers l’exécutable Python.
  7. Par exemple, si vous n’avez rien changé : C:\Python31\python.exe
  8. Il faut redémarrer pour que le changement prenne effet.

Footnotes

[2]Vous pouvez aussi télécharger « Python 3.x Windows AMD64 installer » si vous avez un processeur 64 bits.

3.2.2. Lancement et utilisation

Il existe deux principales manières d’utiliser Python :

  • en mode interactif ;
  • en lançant un script.

3.2.2.1. Mode interactif

Bien qu’il puisse apparaitre peu utile au premier abord, le mode interactif sera d’une grande aide pendant toute votre vie de développeur Python : il permet de se familiariser avec la syntaxe au début, d’utiliser l’aide interactive sur les commandes... De plus, à moins que vous n’utilisiez des commandes qui affectent les fichiers du système, tout est réinitialisé dès que vous quittez le mode interactif, donc rien de grave ne peut arriver.

Dans un terminal UNIX ou DOS, il suffit de taper python (ou python3 si la version 3 n’est pas celle installée par défaut [3]) pour lancer Python en mode interactif. L’invite principale >>> apparait alors (rappelons que l’invite est indiquée dans les exemples, mais il ne faut pas la recopier, car elle n’est là que pour signifier que l’exemple a lieu dans le mode interactif) :

$ python3
Python 3.2.3 (default, Jun  8 2012, 05:37:15)
[GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Si une commande exige une saisie supplémentaire — par exemple le bloc qui suit une boucle ou une condition, le reste d’une ligne après un saut de ligne...), alors l’invite principale est remplacée par l’invite secondaire ... (points de suspension). Voici un exemple :

>>> 1+1
2
>>> if 2 > 1:
...     print('2 est plus grand que 1.')
2 est plus grand que 1.

Note

Sous Windows, pour ouvrir le terminal DOS, il faut faire chercher Exécuter (accessible dans le menu Démarrer jusqu’à Windows XP) puis taper cmd et valider. Sur les Windows plus récents, le menu Exécuter` est caché par défaut : pour le faire apparaitre, il est nécessaire de cocher la case Commande Exécuter dans Propriétés ‣ Menu Démarrer ‣ Personnaliser. On peut aussi y accéder par le raccourci Windows + R.

Dans tous les cas, il est possible de lancer un terminal Python via les programmes.

Warning

Il sera fortement conseillé de préférer IPython (détails en annexe) au mode interactif de base, lorsque celui-ci supportera enfin Python 3.

Ainsi, on écrira une commande directement à la suite de l’invite, et on validera avec la touche Entrée. Après chaque commande, l’éventuel résultat est affiché, puis une nouvelle invite apparait.

Une variable peut directement être afficher, sans nécessairement utiliser la fonction print(), pour ce faire, il suffit d’écrire le nom de la variable :

>>> a = 1
>>> a
1

De plus, une variable spéciale, l’underscore _, est disponible en mode interactif : sa valeur vaut celle de la dernière expression.

>>> 1 + 1
2
>>> _
2
>>> _ + 1
3

Note

La combinaison Ctrl+D permet de quitter le mode interactif python. On peut aussi utiliser la fonction exit().

La fonction help(), définie seulement dans le mode interactif, permet d’afficher des informations sur un objet (son “docstring” plus précisément) : celles-ci comprennent les arguments qu’il faut fournir à l’objet, une courte description ainsi que la liste des méthodes et des attributs (accompagnés eux aussi d’une description) :

>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file: a file-like object (stream); defaults to the current sys.stdout.
    sep:  string inserted between values, default a space.
    end:  string appended after the last value, default a newline.

Si on ne lui donne aucun argument, alors la fonction help() lance l’aide interactive, et l’on peut demander des informations sur plusieurs objets à la suite. On peut quitter ce mode en écrivant q ou quit.

Footnotes

[3]A fortiori, il est possible d’utiliser pythonx.y pour lancer la version x.y (à condition qu’elle soit installée, bien entendu).

3.2.2.2. Fichier

Généralement, l’on écrit le code Python dans un fichier (portant souvent l’extension .py), que l’on peut lancer depuis le terminal avec la commande python3 fichier.py. Un tel fichier peut être édité avec n’importe quel éditeur de texte (on se reportera à l’annexe sur les éditeurs pour plus de détails et quelques conseils). Par exemple si le fichier script.py contient comme seule ligne de code print(3), alors dans le terminal nous aurons

$ python3 script.py
3
$

Le répertoire de travail actuel doit contenir le fichier que nous voulons lancer, sinon il faut indiquer le chemin complet (ou relatif). Ainsi, si le fichier script.py est dans le répertoire test/, la commande à utiliser sera python3 test/script.py. En principe, le terminal affiche le dossier courant avant l’invite $ ; dans tous les cas pwd afficher le dossier actuel et ls liste les fichiers et dossiers. Rappelons finalement que cd permet de se déplacer :

$ pwd
/home/harold/
$ cd test
$ pwd
/home/harold/test
$ ls
script.py

Le fichier peut aussi être lancé dans le terminal Python grâce à la fonction execfile() :

>>> execfile('script.py')
2

Il est aussi possible de lancer un script par un double-clic si Python est dans le PATH de Windows ou, dans le cas des systèmes UNIX (si le fichier a été rendu exécutable), si la première ligne du fichier est

#! /usr/bin/python3

À chaque fois le système utilisera la version la plus récente de Python 3 (si on avait indiqué seulement python, alors le système choisit la version par défaut, qui est souvent une 2.x), sauf si l’utilisateur change ce comportement.