ENSAM Bordeaux juin 2015 Calcul Scientifique avec 3 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 / 24
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 (depuis la rentrée 2013). Utilisé par des acteurs majeurs du monde industriel : NASA, Google, CEA, AirBus, YouTube... 3 / 24
Python est un langage interprété Les 2 outils : Console et Éditeur. 4 / 24
Documentation officielle : site Python.org docs.python.org/3.3 5 / 24
Distributions du site Python.org www.python.org/downloads Ne propose "que" : interpréteur Python + modules de la standard library (GNU/Linux, Mac Os X et Windows). Le calcul scientifique nécessite l installation de modules Python supplémentaires. Windows/Mac OS X : l installation des paquets supplémentaires peut paraître difficile pour les utilisateurs débutants. 6 / 24
Installation de Python pour GNU/Linux Le principe est très simple : tous les modules Python sont disponibles dans 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. matplotlib pour Python 3.x n est disponible que pour x 3 version de GNU/Linux récentes : Ubuntu 14.04 (Trusty), Debian testing (Jessie)... versions antérieures : utiliser Anaconda qui installe Python 3.4. Paquets Python 2.7 (Ubuntu 12.04 Precise, Debian Wheezy...) python2.7 python-numpy python-scipy python-matplotlib python-qt4 Paquets Python 3.x (Ubuntu 14.04 Trusty, Debian Jessie...) python3 python3-numpy python3-scipy python3-matplotlib python3-pyqt4 7 / 24
Installation de Python pour Windows La distribution de base proposée sur Python.org n inclut pas les modules numpy, scipy... L installation à la main de certains modules peut être difficile pour des utilisateurs débutants. Le plus simple : utiliser un logiciel installateur, qui se charge d installer les nombreux modules utiles au calcul scientifique ainsi que les EDI les plus connus (IDLE, Spyder...). Installateurs libres Python scientifique Python(x,y), ne propose à ce jour que Python 2.7 WinPython scientifique WinPython, propose Python 2.7 et 3.3 Installateurs propriétaires (gratuits) proposent des versions académiques et/ou gratuites Continuum Analytics : Anaconda, propose Python 2.7 et 3.4 Enthought : Canopy, ne propose à ce jour que Python 2.7. La coexistence de plusieurs versions (distributions) de Python est possible, mais doit être traitée avec soin... 8 / 24
Installation de Python pour Windows Installateur 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 / 24
Installation de Python pour Windows Installateur anaconda Installation facile de Python 2.7 ou 3.3 avec les modules ipython, numpy, scipy, PyQt4... Installation intégrée de IDLE, Spyder et IPython notebook. Même distribution pour Windows et Mac OS X (et Linux). 10 / 24
Installation de Python pour Mac OS X La disribution Python 2.7 installée de base avec Mac OS X sert au système d exploitation. Elle ne comprend pas les modules numpy, scipy, matplolib... L installation à la main de certains modules peut paraître difficile pour des utilisateurs débutants. Le plus simple : utiliser un logiciel installateur, qui se charge d installer les nombreux modules 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, propose Python 2.7 et 3.4 Enthought : Canopy, ne propose à ce jour que Python 2.7. 11 / 24
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. 12 / 24
Console Python L outil le plus simple pour travailler avec Python : Console exécutant l interpréteur Python en "mode caractère". GNU/Linux Terminal : taper la commande python (ou python3) Mac OS X Terminal : taper la commande python (ou python3) Windows Invite de commande : taper la commande python (ou python3) PythonXY : propose plusieurs types de consoles... WinPython : propose plusieurs types de consoles... Anaconda : propose le fenêtre de commandes anaconda et plusieurs types de consoles... 13 / 24
GNU/Linux, Mac OS X et Windows7 : Console Python dans un terminal 14 / 24
Interpréteur interactif amélioré Plus d interactivité avec l utilisateur et le système d exploitation (%magic). Cellules question/réponse numérotées... (In[n] / Out[n]). Facilités pour charger le module pylab : graphiques, tracés de courbes interactifs... et bien plus encore! Facilités pour le calcul parallélisé ipython.org/ipython-doc/dev/parallel. Propose la déclinaison notebook : "comme" un notebook Mathematica, mais avec un "Python dans le moteur"! 15 / 24
IPython installation GNU/Linux Installer le paquet ipython de votre distribution. Pour Ubuntu ou Debian : installer ipython3 (Python3.x), ou ipython (Python 2.7). Terminal : taper la commande ipython3 (ou ipython) Mac OS X Inclus dans les Installateurs (Canopy, Anaconda...) Terminal : taper la commande ipython. Windows Inclus dans les installateurs (Python(x,y), WinPython, Anaconda...) Invite de commande : taper la commande ipython (ou ipython3) Python(x,y), WinPython, Anaconda... proposent plusieurs types de consoles ipython. 16 / 24
GNU/Linux, Mac OS X et Windows7 : Console IPython 17 / 24
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 cellules d entrée acceptent le langage à balise Markdown (support de L A TEX). [Shift]+[Entrée] exécute la cellule avec IPython. Les fichiers Notebook ont l extension.ipynb. Installation GNU/Linux Paquets (debian) à installer pour Python 2.7 ipython-notebook python-pandas python-sympy python-nose Paquets (debian) à installer pour Python 3.x ipython3-notebook python3-pandas python3-sympy python3-nose Installation Mac Os X et Windows inclus dans les installateurs PythonXY, WinPython, Canopy, Anaconda... 18 / 24
IPython Notebook 19 / 24
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 / 24
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 / 24
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... Propose un workspace analogue à celui de Matlab pour visualiser les données. Propose de l aide interactive. Fournit les 2 fondamentaux : éditeur / interpréteur Python (ou IPython). Compatible Python 3 dans les distributions WinPython et Anaconda. Compatible uniquement Python 2.7 dans les distributions récentes GNU/Linux (Il faut la version Spyder 2.3 pour la compatibilité Python 3 voir bitbucket.org/spyder-ide/spyderlib/downloads). 22 / 24
Spyder 23 / 24
Références bibliographiques http://docs.python.org/3.3/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 3 Gérard Swinnen Télécharger le PDF 24 / 24
jean-luc.charles@ensam.eu eric.ducasse@ensam.eu