Python à l oral du concours ENSAM Paris 11-13 juin 2014 Calcul Scientifique avec Installation - Prise en main Jean-Luc Charles - Éric Ducasse Arts & Métiers ParisTech, I2M
"la programmation doit être un plaisir...", G. van Rossum Langage de programmation proposé dans les années 90 par Guido van Rossum qui a choisi le nom Python en hommage à la série Monty Python. Un langage interprété, puissant, compact, visuel. Multi paradigmes, supportant les principaux styles de programmation : impératif, procédural, orienté objet... Multi plateformes : GNU/Linux, Mac OS X, Windows... Libre et gratuit : logiciel Open Source (www.opensource.org) distribué sous la licence PSF (Python Software Foundation) compatible avec la GPL (Gnu Public Licence). 2 / 23
Très polyvalent, grâce à de nombreux modules couvrant des domaines très variés : numpy algèbre linéaire, matrices, vecteurs, systèmes linéaires... scipy probalilité/statistiques, FFT 1D, 2D..., filtrage numérique, images ; matplotlib tracé de courbes (look & feel MatLab ) ; os manipulation des répertoires et des fichiers... Disposant d une communauté d utilisateurs très active. Simple à prendre en main ; de plus en plus utilisé en recherche, enseignement, industrie... Enseigné au lycée (programme 2009, classe de seconde), au programme des classes prépa (rentrée 2013). Utilisé par des acteurs majeurs du monde industriel : NASA, Google, CEA, AirBus, YouTube... 3 / 23
Python est un langage interprété Les 2 outils : Console et Éditeur. 4 / 23
Documentation officielle : site Python http://docs.python.org/2/index.html 5 / 23
Distributions Python du site Python.org Interpréteur Python + modules de la standard library pour GNU-Linux/Mac Os X/Windows. Le calcul scientifique peut nécessiter l installation de modules Python supplémentaires. Windows/Mac OS X : installation des paquets supp. difficile pour un utilisateur débutant. 6 / 23
Installation de Python pour GNU-Linux Le principe est très simple : tous les modules Python sont proposés dans toutes les distributions GNU-Linux il suffit d installer les paquets Python en fonction des besoins, avec l installeur graphique (logithèque, muon, synaptic,...), ou avec la ligne de commande (adept, apt-get, yum,...) de votre distribution. Paquets (debian) pour Python 2.7 python2.7 ipython python-numpy python-scipy python-matplotlib python-qt4 Paquets (debian) pour Python 3.x python3 ipython3 python3-numpy python3-scipy python3-matplotlib python3- pyqt4 7 / 23
Installation de Python pour Windows La distribution de base proposée par Python.org n inclut pas les modules numpy, scipy... L installation à la main de certains modules peut être difficile pour un utilisateur débutant. Le plus simple : utiliser un installateur, qui se charge d installer les nombreux modules Python utiles au calcul scientifique ainsi que les EDI les plus connus (IDLE, Spyder...). Installateurs libres Python scientifique Python(x,y) ( 700 Mo), propose à ce jour Python 2.7 WinPython scientifique WinPython ( 280 Mo), propose à ce jour Python 2.7 et 3.3 Installateurs propriétaires (gratuits) proposent des versions académiques et/ou gratuites Continuum Analytics : Anaconda ( 350 Mo), propose à ce jour Python 2.7 et 3.4 Enthought : Canopy ( 380 Mo), propose à ce jour Python 2.7.6. La coexistance de plusieurs distributions de Python peut être source de problèmes... 8 / 23
Installation de Python pour Windows Installateur recommandé : WinPython Installation facile de Python 2.7 ou 3.3 sous Windows avec les modules ipython, numpy, scipy, PyQt4... Installation intégrée de IDLE, Spyder et IPython notebook. Installation facile de modules extérieurs (idlex). 9 / 23
Installation de Python pour Mac OS X L installation livrée avec Mac OS X est souvent obsolète et incomplète (absence des modules scipy et matplolib par exemple). L installation à la main de certains modules peut être difficile pour un utilisateur débutant. Le plus simple : utiliser un installateur, qui se charge d installer les nombreux modules Python utiles au calcul scientifique ainsi que les EDI les plus connus (IDLE, Spyder...). Installateurs propriétaires gratuits proposent des versions académiques et/ou gratuites Continuum Analytics : Anaconda ( 350 Mo), propose à ce jour Python 2.7 et 3.4 Enthought : Canopy ( 380 Mo), propose à ce jour Python 2.7.6. 10 / 23
Installation de Python pour Mac OS X Installateur recommandé : Anaconda Installation facile de Python 2.7 ou 3.4 avec les modules ipython, numpy, scipy, PyQt4... Installation intégrée de IDLE, Spyder et IPython notebook. 11 / 23
Console Python L outil le plus simple pour travailler avec Python : Console exécutant l interpréteur Python. GNU-Linux Terminal : taper la commande python Mac OS X Terminal : taper la commande python Windows Invite de commande : taper la commande python PythonXY : propose plusieurs types de consoles... WinPython : propose plusieurs types de consoles... 12 / 23
GNU-Linux et Mac OS X : Console Python dans un terminal 13 / 23
Windows : Console Python avec Python(x,y) 14 / 23
Interpréteur interactif amélioré Plus d interactivité avec l utilisateur et le système d exploitation (%magic). Rend Python utilisable comme une boîte à outil (cellules In[n] / Out[n]). Facilités pour charger le module pylab : graphiques, tracés de courbes interactifs... et bien plus encore! Propose la déclinaison notebook : "comme" un notebook Mathematica, mais avec un "Python dans le moteur"! GNU-Linux et Mac OS X Terminal : taper la commande ipython Windows Invite de commande : taper la commande ipython PythonXY, WinPython : proposent plusieurs types de consoles ipython... 15 / 23
Python Installation Console IPython IPython Notebook IDLE Spyder v1.0 GNU-Linux et Mac OS X : Console IPython dans un terminal 16 / 23
Windows : Consoles IPython avec Python(x,y) 17 / 23
IPython Notebook ipython.org/notebook.html Se lance par la commande "ipython notebook" ou avec un exécutable dédié. Un notebook se présente comme un onglet d un navigateur HTML, qui dialogue avec un noyau IPython. Les fichiers Notebook ont l extension.ipynb. Les cellules d entrée acceptent le langage à balise Markdown (support de L A TEX). [Shift]+[Entrée] exécute la cellule avec IPython. Installation GNU-Linux Paquets (debian) à ajouter pour Python 2.7 python-pandas python-sympy python-nose Paquets (debian) à ajouter pour Python 3.x python3-pandas python-sympy python3-nose Installation Mac Os X et Windows inclus dans les installateurs PythonXY, WinPython... et Canopy, Anaconda... 18 / 23
19 / 23
IDLE IDE (Integrated Development Environment) Présent dans toutes les distributions Python, très utile pour des essais rapides. (mais peut poser des problèmes avec Mac OS X -> Canopy...) Le plus simple des IDE, avec colorisation syntaxique (éditeur et interpréteur). Les programmes édités sont exécutés avec la touche F5. 20 / 23
IDLEX (IDLE extensions) http://idlex.sourceforge.net/ Numérotation des lignes, ouverture de plusieurs fichiers dans des onglets. Choix de l interpréteur Python ou IPython. Gestion native de l historique des commandes avec le curseur. Gestion du Zoom par CTRL + molette... 21 / 23
Spyder http://code.google.com/p/spyderlib/ Un MatLab-like, écrit en Python! Très complet, convivial, efficace... Propose beaucoup de goodies : object inspector, help, debugger, Qt Designer... 22 / 23
Références bibliographiques http://docs.python.org/2/index.html http://fr.openclassrooms.com/informatique/python/cours Apprenez à programmer en Python Vincent Le Goff Simple IT éd. (Le livre du zéro) ISBN 979-10-90085-03-9 25 Apprendre à programmer avec Python Gérard Swinnen Télécharger le PDF 23 / 23
jean-luc.charles@ensam.eu eric.ducasse@ensam.eu