I. Chapitre 0. Installer Python▲
Tempora mutantur nos et mutantur in illis. (Les Temps changent et nous changeons avec eux.)
— ancien proverbe Romain.
Avant de pouvoir utiliser Python, nous devons l’installer. D’accord ?
I-A. Quel est le Python qui vous convient ?▲
Si vous utilisez un compte hébergé sur un serveur, votre F.A.I. vous aura certainement installé Python 3. Si vous fonctionnez sous Linux, vous aurez sans doute aussi Python 3. La plupart des distributions GNU/Linux viennent avec Python 2 comme installation par défaut. Un petit nombre, mais croissant, de distributions incluent aussi Python 3. MacOS inclut une version ligne de commande de Python 2, mais au moment de la rédaction ne propose pas Python 3. Microsoft Windows est fourni sans aucune version de Python. Mais ne désespérez pas ! Vous pourrez toujours trouver un moyen simple d’installer Python, quel que soit votre système d’exploitation.
La manière la plus simple de vérifier la version de Python installée sur votre machine Linux ou macOS est de passer par la ligne de commande. Une fois que vous êtes au prompt, saisissez juste python3 (tout en minuscules, sans espace), puis ENTER et observez ce qui se passe. Sur mon système Linux domestique Python 3.1 est installé, et cette commande me donne accès au shell python interactif.
mark@atlantis:~$
python3
Python 3
.1
(
r31:73572
, Jul 28
2009
, 06
:52
:23
)
[GCC 4
.2
.4
(
Ubuntu 4
.2
.4
-1ubuntu4)] on linux2
Saisissez exit() et pressez ENTER pour sortir du shell interactif Python.
Bien, revenons à la question du début de cette section, « Quelle version de Python est la bonne pour vous ? » Celle qui fonctionne sur la machine que vous avez déjà.
[Continuez à lire pour l’installation sous Windows, ou passez directement à l’installation sous macOS, sous Ubuntu ou d’autres plateformes]
I-B. Installation sous Microsoft Windows▲
Windows est fourni en deux versions : 32 bits et 64 bits. Bien sûr il existe beaucoup de versions différentes de Windows – XP, Vista, Windows 7, Windows 8, Windows 10 – mais Python tourne sur chacune d’elles. La distinction la plus importante est entre 32 et 64 bits. Si vous n’avez aucune idée de l’architecture sur laquelle vous tournez, c’est probablement du 32 bits, avant Windows 10.
Note de la rédaction : une version Python 32 bits fonctionnera sur un windows 64 bits.
Connectez-vous à python.org/download/ et téléchargez la version appropriée de l’installeur Python 3 pour Windows et pour votre architecture. Vous aurez le choix entre quelque chose comme ceci :
- Python 3.1 Windows installer (Windows binary — does not include source) ;
- Python 3.1 Windows AMD64 installer (Windows AMD64 binary — does not include source).
Je ne veux pas inclure de liens de téléchargement direct ici, car des changements apparaissent souvent pour Python et je ne voudrais pas vous faire manquer une mise à jour importante. Vous devriez toujours installer la version la plus récente de Python 3.x, sauf si vous avez une raison ésotérique de ne pas le faire.
Une fois le téléchargement terminé, double-cliquez sur le fichier .msi. Windows vous présentera un message d’alerte de sécurité, puisque vous vous apprêtez à exécuter du code. L’installateur Python officiel est signé numériquement par la Python Software Foundation, la société sans but lucratif qui supervise le développement de Python. N’acceptez pas d’imitation ! Cliquez le bouton Run pour démarrer l’installation de Python 3.
L’installeur vous demandera avant tout si vous voulez installer Python 3 pour tous les utilisateurs ou seulement pour vous. Le choix par défaut est l’installation pour tous les utilisateurs, qui est le meilleur à moins que vous n’ayez de solides raisons de ne pas le faire (une des bonnes raisons de n’installer que pour vous est si vous installez Python sur l’ordinateur de votre entreprise dont vous n’êtes pas administrateur. Mais si vous faites cela, pourquoi le faites-vous sans l’autorisation de votre administrateur Windows ? Ne me causez pas d’ennuis ! Cliquez sur le bouton Next pour accepter le choix du type d’installation.
Ensuite l’installeur vous demandera de choisir un répertoire de destination. Par défaut toutes les versions de Python 3.1.x s’installent dans C:\Python31\, ce qui devrait convenir à la plupart des utilisateurs, sauf si vous avez une raison spécifique d’en changer. Si vous réservez un disque séparé pour les installations, vous pouvez parcourir l’arborescence de vos disques en utilisant les contrôles fournis, ou simplement saisir le chemin désiré dans la boîte du dessous. Vous n’êtes pas tenus d’installer Python sur le disque C :, vous pouvez l’installer sur n’importe quel disque, dans n’importe quel dossier. Cliquez sur le bouton Next pour valider le choix du répertoire de destination.
La page suivante semble compliquée, mais elle ne l’est pas réellement. Comme pour beaucoup d’installeurs, vous avez la possibilité de ne pas installer chaque composant de Python 3. Si vous êtes très contraint en espace disque, vous pouvez exclure certains composants de l’installation.
- Register Extensions vous permet d’exécuter un script Python, d’extension .py en double-cliquant sur son fichier. Recommandé mais non requis. Cette extension ne coûte pas d’espace disque, donc l’exclure n’apporte rien à ce niveau.
- Tcl/Tk est la bibliothèque graphique utilisée par le shell Python, que vous utiliserez tout au long de ce livre. Je recommande fortement de conserver cette option.
- Documentation installe un fichier d’aide qui contient une grande part des informations de docs.python.org. Recommandé si vous avez un accès limité à l’Internet.
- Utility scripts inclut le script 2to3.py que nous verrons plus loin dans ce livre. Requis si vous voulez voir comment migrer du code existant Python2 vers Python3. Si vous n’avez pas de code Python2 vous pouvez sauter cette option.
- Test Suite est une collection de scripts utilisés pour tester l’interpréteur Python lui-même. Nous ne l’utiliserons pas dans ce livre, et je ne l’ai jamais utilisée non plus dans le cours « Programming in Python ». Complètement optionnel.
Si vous ne savez pas exactement de combien d’espace disque vous disposez, cliquez sur le bouton Disk Usage. L’installeur affichera vos disques, calculera combien d’espace est disponible sur chacun d'eux et combien d’espace restera après l’installation. Cliquez sur le bouton OK pour revenir à la page « Personnalisation de Python ».
Si vous décidez d’exclure une option, choisissez le bouton déroulant devant l’option et choisissez « La fonction entière sera indisponible ». Par exemple, exclure Test Suite vous sauvera un merveilleux 7908 Ko d’espace disque. Cliquez sur le bouton Next pour accepter votre choix d’options.
L’installeur copiera les fichiers nécessaires vers le répertoire de destination (ça va si vite que j’ai dû m’y reprendre à trois fois pour obtenir une copie d’écran de cette installation!).
Cliquez sur le bouton Finish pour sortir de l’installeur.
Dans votre menu Démarrer vous devez trouver un nouvel élément nommé Python 3.1. À l’intérieur vous devez avoir un programme nommé IDLE. Choisissez-le pour démarrer le shell Python interactif.
I-C. Installation sur macOS▲
Tous les MacIntosh modernes utilisent des processeurs Intel (comme la plupart des PC Windows). Les Macs plus anciens utilisaient des processeurs PowerPC. Vous n’avez pas besoin de comprendre la différence, car il n’y a qu’un installeur Python pour tous les Macs.
Allez sur python.org/download/ et téléchargez l’installeur Mac. Il sera nommé quelque chose comme Python 3.1 Mac Installer Disk Image, même si la version peut varier. Mais assurez-vous de bien télécharger la version 3.x, et non 2.x.Votre explorateur Internet doit automatiquement monter une image disque et ouvrir une fenêtre du Finder pour vous en montrer le contenu. Si ça ne marche pas ainsi, vous devez rechercher le fichier téléchargé dans votre dossier de téléchargement et double-cliquer pour le monter. Il sera nommé quelque chose comme python-3.1.dmg. L’image disque contient un certain nombre de fichiers texte (Build.txt, License.txt, ReadMe.txt) et l’installeur Python lui-même, Python.mpkg. Double-cliquez sur ce dernier pour démarrer l’installeur Python pour Mac.
La première page de l’installeur vous donne une brève description de Python lui-même, et vous renvoie au fichier ReadMe.txt (que vous n’avez pas lu, n’est-ce pas?) pour plus de détails. Cliquez sur le bouton Continue pour poursuivre.
La page suivante contient des informations vraiment importantes : Python exige macOS 10.3 ou plus récent. Si vous tournez encore sous macOS 10.2 ou plus ancien vous devez vraiment faire la mise à jour. Apple ne fournit plus de mises à jour de sécurité pour votre système et votre machine est sans doute exposée au risque si vous êtes connecté à l’Internet. Vous ne pouvez pas non plus exécuter Python 3. Cliquez sur le bouton Continue pour poursuivre.
Comme tout bon installeur, l’installeur Python affiche l’accord de licence logicielle. Python est Open Source, et sa licence est approuvée par l’initiative Open Source. Python a eu plusieurs propriétaires et sponsors au long de son histoire, chacun d’eux ayant laissé sa trace sur la licence logicielle. Mais à la fin le résultat est celui-ci : Python est Open Source et vous pouvez l’utiliser sur toute plateforme, dans n’importe quel but, sans frais ni obligation de réciprocité. Cliquez encore une fois sur le bouton Continue.
En raison de bizarreries dans le framework standard d’installation d’Apple vous devez « accepter » la licence logicielle pour procéder à l’installation. Puisque Python est OpenSource, vous acceptez en fait que la licence vous donne des droits additionnels plutôt qu’elle ne vous enlève. Cliquez sur le bouton Agree pour continuer.
L’écran suivant vous permet de modifier la destination de l’installation. Vous Devez installer Python sur votre disque de démarrage, mais en raison de limitations de l’installeur, il ne vous y contraint pas. En vérité, je n’ai jamais eu à modifier la destination de l’installation. À partir de cet écran vous pouvez aussi personnaliser l’installation pour exclure certaines fonctions. Si vous le souhaitez, cliquez sur le bouton Customize, sinon cliquez sur Install.
Si vous choisissez une installation personnalisée, l’installeur vous proposera la liste d’options suivante :
- Python Framework : c’est le corps de Python, et il est sélectionné et non modifiable, car il doit être installé.
- GUI Applications : inclut Idle, le shell graphique Python que vous utiliserez tout au long de ce livre. Je recommande fortement de garder cette option.
- UNIX command-line tools : inclut l’application en ligne de commande python3. Je recommande fortement de conserver cette option, également.
- Python Documentation : contient la plupart des informations de docs.python.org. Recommandé si votre liaison Internet est à faible débit.
- Shell profile updater : contrôle si vous devez mettre à jour votre profil shell (utilisé par Terminal.app) pour garantir que cette version de Python est dans le chemin de recherche de votre shell. Vous n’avez probablement pas besoin de modifier cette option.
- Fix system Python : ne devrait pas être modifié. Il indique au Mac d’utiliser Python 3 par défaut pour les scripts Python, y compris ceux inclus dans le système fournis par Apple. Les conséquences peuvent être néfastes, puisque la plupart de ces scripts sont écrits en Python2 et ne s’exécuteront pas correctement en Python 3.
Cliquez sur le bouton Install pour continuer.
Comme l’installeur place les frameworks globaux et les binaires dans /usr/local/bin/, il vous demandera un mot de passe administrateur. Il n’est pas possible d’installer Python sans les privilèges administrateur. Cliquez sur le bouton OK pour commencer l’installation.
L’installeur affichera une barre de progression pendant qu’il installe les fonctionnalités que vous avez choisies.
Si tout se passe bien, l’installeur affichera une grande coche verte pour vous prévenir que l’installation s’est achevée correctement. Cliquez sur le bouton Close.
Si vous avez installé le logiciel dans son répertoire par défaut, vous pouvez trouver les fichiers fraîchement installés dans le répertoire Python 3.1, dans votre dossier /Applications. Le plus important est idle, le shell graphique Python. Double-cliquez sur idle pour démarrer le shell Python.
Le shell Python est l’endroit où vous passerez le plus de temps en explorant Python. Les exemples de ce livre supposent que vous êtes à l’aise dans celui-ci.
I-D. Installer sur Ubuntu Linux▲
Les distributions Linux modernes s’appuient sur de vastes répertoires d’applications précompilées prêtes à être installées. Les détails exacts varient en fonction de la distribution. Pour Ubuntu Linux, la manière la plus simple d’installer Python 3 est de passer par Ajout/Suppression d’application dans votre menu Applications.
Lorsque vous démarrez pour la première fois Ajout/Suppression d’application, il vous montrera une liste d’applications présélectionnées de différentes catégories. Certaines sont déjà installées, d’autres non. Comme le répertoire contient plus de 10 000 applications, il est possible d’appliquer des filtres pour sélectionner des tranches raisonnables du répertoire. Le filtre par défaut est « Applications maintenues par Canonical » qui définit un sous-ensemble restreint d’applications, maintenu officiellement par Canonical, la compagnie qui a créé et maintient Ubuntu Linux.
Python 3 n’est pas maintenu officiellement par Canonical, donc la première chose à faire est de choisir le filtre « Toutes les Applications OpenSource ».
Une fois le filtre élargi à l’ensemble des applications OpenSource, utilisez la boîte de recherche placée immédiatement sous le filtre pour rechercher Python 3.
Maintenant, la liste des applications se restreint à celles dont le nom correspond à Python 3. Vous devez choisir deux paquets. Le premier est Python (v3.0). C’est l’interpréteur Python proprement dit.
Le second paquet que vous voulez est immédiatement en-dessous : IDLE (pour Python-3.0). C’est un shell graphique Python que vous utiliserez tout au long de ce livre. Une fois que vous avez sélectionné ces deux paquets, cliquez sur le bouton Apply Changes pour continuer.
Le gestionnaire de paquets vous demandera de confirmer que vous voulez bien ajouter IDLE (using Python-3.0) et Python (v3.0). Cliquez sur le bouton Apply pour continuer.
Le gestionnaire de paquets vous montrera une barre de progression affichant le téléchargement des paquets nécessaires depuis le répertoire Internet de Canonical.
Lorsque les paquets auront été téléchargés, le gestionnaire de paquets commencera automatiquement à les installer.
Si tout se passe bien, le gestionnaire de paquets confirmera que les deux paquets ont été installés avec succès. À partir de là, vous pouvez cliquer sur idle pour démarrer le shell Python, ou cliquez sur le bouton Close pour sortir du gestionnaire de paquets. Vous pouvez toujours redémarrer le shell Python en allant dans le menu « Applications », sous-menu « Programmation », et en choisissant idle.
Le shell Python est l’endroit où vous passerez le plus de temps à explorer Python. Les exemples de ce livre partent de l’idée que vous êtes à l’aise dans le shell Python.
[ Passer à Utiliser le shell PythonUtiliser le shell Python]
I-E. Installer sur d’autres plateformes▲
Python 3 est disponible pour nombres d’autres plateformes. En particulier il est disponible pour virtuellement toute distribution basée sur Linux, BSD ou Solaris. Par exemple, le Linux de RedHat utilise le gestionnaire de paquets yum. FreeBSD a sa collection de portages et de paquets, Suse utilise zypper et Solaris pkgadd. Une rapide recherche sur le WEB pour Python 3 + <le nom de votre système d’exploitation> devrait vous dire si un paquet Python est disponible et si oui, comment l’installer.
I-F. Utiliser le shell Python▲
Le shell Python est l’endroit d’où vous pouvez explorer la syntaxe Python, obtenir de l’aide interactive sur les commandes et déboguer de petits programmes. Le shell graphique Python (nommé IDLE) propose aussi un éditeur de textes décent qui supporte la coloration syntaxique et s’intègre au shell Python proprement dit. Si vous n’avez pas d’éditeur de textes favori, vous devriez essayer IDLE.
Commençons par le début. Le shell Python lui-même est un emplacement de jeu interactif amusant. Tout au long de ce livre vous verrez des exemples, tels que celui-ci :
>>>
1
+
1
2
Les trois chevrons, >>>, signalent le prompt du shell Python. Ne saisissez pas cette partie. Ils sont là juste pour vous faire savoir que cet exemple doit être fait dans le shell Python.
1 + 1 est la partie que vous saisissez. Vous pouvez entrer n’importe quelle expression ou commande Python valable dans le shell Python. N’ayez pas peur : ça ne fait pas mal ! Le pire qui puisse arriver est que vous receviez un message d’erreur. Les commandes sont exécutées immédiatement (dès que vous pressez ENTER) ; les expressions sont évaluées immédiatement et le shell Python vous affiche le résultat.
2 est le résultat de l’évaluation de cette expression. Il apparaît que 1 + 1 est une expression Python valable. Le résultat est 2, bien sûr.
Essayons-en une autre :
>>>
print
(
'Hello world!'
)
Hello world!
Plutôt simple, non ? Mais vous pouvez faire beaucoup plus dans le shell Python. Si vous vous retrouvez coincé, vous ne vous rappelez plus d’une commande, ou vous ne vous rappelez plus des arguments à passer à une fonction, vous pouvez obtenir une aide interactive dans le shell Python. Entrez juste help et validez.
L’aide fonctionne selon deux modes. Vous pouvez obtenir de l’aide pour un objet simple, qui affichera la documentation et reviendra au prompt du shell Python. Vous pouvez aussi entrer dans le help mode, où à la place d’évaluer des expressions Python, vous saisissez des mots-clés ou des noms de commandes et il vous affichera tout ce qu’il connaît à leur propos.
Pour activer le mode d’aide interactif, saisissez help() et validez.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
>>>
help
(
)
Welcome to Python 3.0
!
This is
the online help utility.
If this is
your first time using Python, you should definitely check out
the tutorial on the Internet at http://
docs.python.org/
tutorial/
.
Enter the name of any module, keyword, or
topic to get help on writing
Python programs and
using Python modules. To quit this help utility and
return
to the interpreter, just type "quit"
.
To get a list of available modules, keywords, or
topics, type "modules"
,
"keywords"
, or
"topics"
. Each module also comes with
a one-
line summary
of what it does; to list the modules whose summaries contain a given word
such as
"spam"
, type "modules spam"
.
help>
Notez que le prompt a changé de >>> à help>. Cela vous rappelle que vous êtes dans le mode d’aide interactif. Maintenant vous pouvez saisir n’importe quel mot-clé, commande, nom de module, nom de fonction : à peu près tout ce que Python comprend et lire la documentation à son propos.
Sauter cette portion de code.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
help>
print
(
1
)
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.
help>
PapayaWhip (
2
)
no Python documentation found for
'PapayaWhip'
help>
quit (
3
)
You are now leaving help and
returning to the Python interpreter.
If you want to ask for
help on a particular object directly from
the
interpreter, you can type "help(object)"
. Executing "help('string')"
has the same effect as
typing a particular string at the help>
prompt.
>>>
(
4
)
(1) Pour obtenir de la documentation sur la fonction print(), saisir simplement print() et appuyez sur la touche ENTRER. Le mode interactif d'aide affichera des informations semblables à une page de manuel : le nom de la fonction, un bref synopsis, les arguments de la fonction et leurs valeurs par défaut, etc. Si la documentation vous semble peu claire, ne paniquez pas. Vous en apprendrez davantage sur tous ces concepts dans les prochains chapitres.
(2) Bien évidemment, le mode d'aide interactif ne sait pas tout. Si vous saisissez quelque chose qui n'est pas une commande Python, un module, une fonction ou un autre mot-clé intégré, le mode d'aide interactif ne fera que hausser ses épaules virtuelles.
(3) Pour quitter le mode d'aide interactif, tapez quit et appuyez sur la touche ENTRER.
(4) L’invite revient à >>> pour signaler que vous avez quitté le mode d'aide interactif et que vous êtes retourné dans le shell Python.
IDLE, le shell graphique Python, inclut également un éditeur de texte compatible à Python.
I-G. Les éditeurs Python et les IDE▲
IDLE n’est pas le seul outil possible pour écrire des programmes en Python. Bien qu’il soit utile pour apprendre le langage lui-même, beaucoup de développeurs lui préfèrent d’autres éditeurs de textes ou des « Environnements de Développement Intégrés » (IDE). Je ne vais pas les mentionner ici, mais la communauté Python maintient une liste des éditeurs compatibles Python qui couvre un large éventail de plateformes et de licences logicielles.
Vous pouvez aussi souhaiter vérifier la liste des IDE compatibles Python, bien que peu d’entre eux supportent Python 3 aujourd’hui. Un qui le fait est PyDev, un plugin pour Eclipse qui fait d’Eclipse un IDE Python complet. Tant Eclipse que Python sont multiplateformes et OpenSource.
Du côté commercial on trouve l’IDE Komodo de ActiveState.
Je programme en Python depuis neuf ans, et j’édite mes programmes Python dans GNU Emacs et les déboguent en ligne de commande dans le shell Python. Il n’y a pas de bonne ou de mauvaise manière de développer en Python. Trouvez la manière qui vous convient !