Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
python [Le 02/06/2014, 04:46]
moissan [Voir aussi]
python [Le 02/10/2023, 09:57] (Version actuelle)
bcag2 inversion ordre des § python2 python3
Ligne 1: Ligne 1:
-{{tag>​programmation ​BROUILLON}}+{{tag>​programmation}}
  
 ---- ----
  
 +{{ python.png?​130nolink| Logo Python}}
 ====== Langage de programmation Python ====== ====== Langage de programmation Python ======
  
-[[wpfr>​Python_(langage)|Python]] est un langage de programmation interprété,​ orienté objet, dont l'​utilisation va des scripts systèmes aux applications web. +[[wpfr>​Python_(langage)|Python]] est un langage de programmation interprété,​ orienté objet, dont l'​utilisation va des scripts systèmes aux applications web. \\ 
-Il est placé sous une licence libre proche de la licence BSD et fonctionne sur la plupart des plateformes.+Il est régi par une licence libre proche de la licence BSD et fonctionne sur la plupart des plateformes.
  
 ===== Programmer en Python ===== ===== Programmer en Python =====
  
-Pour plus d'​information sur la programmation en Python, référez-vous au portail [[:​programmation#​python|Programmation]]. +Pour plus d'​information sur la programmation en Python, référez-vous au portail [[:​programmation#​python|Programmation]]. ​\\ 
-Par défaut, Python est installé sur Linux. Sous Ubuntu par exemple, ​tapez "​python"​ pour avoir accés ​à l'​invite de commande Python. Pour connaître votre version de Python installé, tapez "​python -V" dans un terminal. ​+Par défaut, Python est installé sur %%GNU/Linux%%\\ Sous Ubuntu par exemple, ​saisir ​"​python" ​dans un [[:​terminal]] ​pour avoir accès ​à l'​invite de commande Python. Pour connaître votre version de Python installé, tapez "​python -V" dans le [[:terminal]]
  
-==== Logiciel ​editeur ​Python (IDE)  ====+==== Logiciel ​éditeur ​Python (IDE)  ====
  
-Les logiciels pour editer ​des scripts python :+Les logiciels pour éditer ​des scripts python :
    
 ^Nom^Cross Platform^Commercial ou Free^Auto Code Completion^Multi-Language Support^Integrated Python Debugging^Error Markup^Source Control Integration^Smart Indent^Bracket Matching^Line Numbering^UML Editing or Viewing^Code Folding^Code Templates ^Unit Testing^GUI Designer^Integrated DB Support ^ Rapid Application Development^ ^Nom^Cross Platform^Commercial ou Free^Auto Code Completion^Multi-Language Support^Integrated Python Debugging^Error Markup^Source Control Integration^Smart Indent^Bracket Matching^Line Numbering^UML Editing or Viewing^Code Folding^Code Templates ^Unit Testing^GUI Designer^Integrated DB Support ^ Rapid Application Development^
Ligne 28: Ligne 29:
 |Editra |**Y** | F |Y | Y | | |Y |Y |Y |Y | |Y | | | | | | |Editra |**Y** | F |Y | Y | | |Y |Y |Y |Y | |Y | | | | | |
 |[[emacs|Emacs]] |**Y** | F |Y | Y |Y |Y |Y |Y |Y |Y | Y |Y |Y |Y | | | | |[[emacs|Emacs]] |**Y** | F |Y | Y |Y |Y |Y |Y |Y |Y | Y |Y |Y |Y | | | |
-|Eric Ide |**Y** | F |Y | |Y |Y | |Y | |Y | |Y | |Y | | | |+|[[eric|Eric Ide]] |**Y** | F |Y | |Y |Y ||Y ||Y ||Y ||Y |Y¹ |Y² | |¹QtDesigner ²Navigateur SQL intégré|
 |E-Texteditor |W | | | | | | | | | | | | | | | | | |E-Texteditor |W | | | | | | | | | | | | | | | | |
 |[[geany|Geany]] |**Y** | F |Y*| Y | | | |Y |Y |Y | |Y | | | | | |* very limited| |[[geany|Geany]] |**Y** | F |Y*| Y | | | |Y |Y |Y | |Y | | | | | |* very limited|
Ligne 42: Ligne 43:
 | PIDA           ​|**L**W| F |Y | Y |  |  |  |Y |Y |Y |   |Y |  |  |   ​| ​ |   |VIM based | PIDA           ​|**L**W| F |Y | Y |  |  |  |Y |Y |Y |   |Y |  |  |   ​| ​ |   |VIM based
 | PTVS           |W | F |Y | Y |Y |Y |Y |Y |Y |Y |   |Y |  |  |Y* |  | Y |*WPF bsed | PTVS           |W | F |Y | Y |Y |Y |Y |Y |Y |Y |   |Y |  |  |Y* |  | Y |*WPF bsed
-| PyCharm ​       |**Y** | C |Y | Y*|Y |  |Y |Y |Y |Y |   |Y |  |Y |   ​| ​ |   |* javascript+[[:PyCharm]]        ​|**Y** | C |Y | Y*|Y |  |Y |Y |Y |Y |   |Y |  |Y |   ​| ​ |   |* javascript
 | PyDev([[eclipse|Eclipse]]) |**Y** | F |Y | Y |Y |Y |Y |Y |Y |Y | Y |Y |Y |Y |   ​| ​ |   | | PyDev([[eclipse|Eclipse]]) |**Y** | F |Y | Y |Y |Y |Y |Y |Y |Y | Y |Y |Y |Y |   ​| ​ |   |
 | Pyscripter ​    |W | F |Y |   |Y |Y |  |Y |  |Y |   ​| ​ |Y |Y |   ​| ​ |   | | Pyscripter ​    |W | F |Y |   |Y |Y |  |Y |  |Y |   ​| ​ |Y |Y |   ​| ​ |   |
Ligne 59: Ligne 60:
  
 Acronymes: Acronymes:
-  *     CP - Cross Platform +  *     CP - Cross Platform ​— { multi-plateformes } 
-  *     C - Commercial +  *     C - Commercial ​— { sous licence commerciale } 
-  *     F - Free +  *     F - Free — { sous licence gratuite } 
-  *     AC - Automatic Code-completion +  *     AC - Automatic Code-completion ​— { finalisation automatique du code } 
-  *     MLS - Multi-Language Support +  *     MLS - Multi-Language Support ​— { intégration multilingue } 
-  *     PD - Integrated Python Debugging +  *     PD - Integrated Python Debugging ​{ interface de débogage du code Python intégrée } 
-  *     EM - ErrorMarkup +  *     EM - ErrorMarkup ​— { procédure de balisage d'​erreurs } 
-  *     SC - Source Control integration +  *     SC - Source Control integration ​— { procédure de contrôle du code source intégrée } 
-  *     SI - Smart Indent +  *     SI - Smart Indent ​— { formatage intelligent du code source } 
-  *     BM - Bracket Matching +  *     BM - Bracket Matching ​— { fermeture automatique des différentes parenthèses } 
-  *     LN - Line Numbering +  *     LN - Line Numbering ​— { numérotation automatique des lignes de code } 
-  *     UML - UML editing / viewing +  *     UML - UML editing / viewing ​— { édition et visualisation du langage unifié de modélisation graphique } 
-  *     CF - Code Folding +  *     CF - Code Folding ​— { procédure de repli synthétique du code source } 
-  *     CT - Code Templates +  *     CT - Code Templates ​— { modélisation/​prototypage du code source } 
-  *     UT - Unit Testing +  *     UT - Unit Testing ​— { tests des unités de commandes } 
-  *     UID - GUI Designer (for example, Qt, Eric, ..) +  *     UID - GUI Designer (for example, Qt, Eric, ..) — { module de conception des interfaces graphiques dédiées à l'​utilisateur } 
-  *     DB - integrated database support +  *     DB - integrated database support ​— { intégration et gestion des bases de données } 
-  *     RAD - Rapid application development support+  *     RAD - Rapid application development support ​— { gestion de la modélisation/​du développement accélérés des applications }
   *     L - Linux   *     L - Linux
   *     W - Windows   *     W - Windows
   *     M - Mac   *     M - Mac
 ==== Logiciels de création d'​interface graphique ==== ==== Logiciels de création d'​interface graphique ====
-Les logiciels pour creer des interfaces graphiques pour python +Les logiciels pour créer ​des interfaces graphiques pour python: 
-  * A compléter+  * QT Creator pour des interfaces en QT 
 + 
 +Terminal  
 +===== Installation ===== 
 +==== Python 3 et Ubuntu ==== 
 + 
 +=== Ubuntu 18.04 et suivant === 
 + 
 +Ubuntu [[:18.04]] est livrée avec //Python 3.6// par défaut, il suffit de taper ''​python3''​ pour l'​invoquer.\\ 
 +Sous [[:focal]] c'est //Python 3.8//, accessible avec ''​python'',​ python 2 n'​étant plus installé par défaut !.  
 + 
 +==== Python 2 ==== 
 +Python 2 est installé par défaut jusqu'​à [[:Bionic]] (version 2.7), il suffit de taper ''​python''​ dans un terminal pour accéder à l'​interpréteur. 
 + 
 +<note warning> Python 2.7 est en fin de vie depuis le 1er janvier 2020. Il est recommandé de passer à Python 3 car Python 2 n'est plus supporté. Une future version du PIP abandonnera la prise en charge de Python 2.7. Plus de détails sur le support de Python 2 dans PIP : https://​PIP.PYPA.IO/​fr/​Latest/​Development/​release-process/#​python-2-support </​note>​ 
 + 
 +==== Les modules ==== 
 +Il faut souvent ajouter des modules (bibliothèques) à l'​installation de base. Cela peut-être fait via les suites d'​outils [[:​python#​anaconda]] ou [[:​python#​miniconda]] évoquées ci-dessous, mais si vous n'avez besoin que de quelques modules, il est possible de les ajouter avec le gestionnaire de paquets python [[wpfr>​Pip_(gestionnaire_de_paquets)|PIP]],​ par exemple, pour installer le module PySerial (communication série) 
 +<code bash>pip install pyserial</​code>​ 
 +Pour lister les modules installés : 
 +<code bash>pip list</​code>​ On peut ajouter l'​option //--local// pour ne lister que ceux installés localement (dans //​$USER/​.local/​bin//​)\\ 
 +Sans l'​option ci-dessus, il y en a beaucoup, aussi un //pipe// avec grep peut être utile !<code bash>pip list | grep pyserial</​code>​ 
 +==== IDLE 3.6 ==== 
 +Pour installer IDLE en version //Python 3.6// (si on a déjà installé Python en 3.6), il suffit d'​installer ''​idle-python3.6''​ et on l'​exécute en utilisant ce même nom. 
 + 
 +==== iPython ==== 
 + 
 +Voici les instructions pour installer iPython (dans une version récente) sous 16.04, avec ''​pip''​ : \\ 
 +(la première ligne installe pip3) 
 +<code bash> 
 +$ sudo apt install python3-pip 
 +$ pip3 install --upgrade pip 
 +$ sudo pip3 install jupyter 
 +$ sudo pip3 install ipython 
 +</​code>​ 
 + 
 +==== Anaconda ==== 
 +Anaconda est une suite d'​outils (plus de 200 paquets et plus de 500Mo) allant de l'​éditeur [[:​spyder|Spyder]] au framework [[:qt|Qt]] et [[:​pyqt|PyQt]],​ en passant par [[https://​jupyter.org/​|jupyter]] pour les notebook, et de nombreuses librairies de programmation,​ //pip// et //​pep8//​…\\ 
 +Pour l'​installer,​ reportez-vous à la page dédiée sur le site officiel:​\\ 
 +[[https://​docs.anaconda.com/​anaconda/​install/​linux]]\\ 
 +La [[https://​docs.anaconda.com/​anaconda/​packages/​py3.6_linux-64|liste des paquets installés]] est visualisable via //​anaconda-navigator//​ puis //​Environnements//​. En cas de soucis, pensez à mettre à jour le navigateur:​ 
 +<​code>​conda update anaconda-navigator </​code>​ 
 + 
 +Attention, l'​installation d'​Anaconda peut entrer en conflit avec la version système de Python et ainsi causer problème avec certaines applications. Des problèmes ont été rencontrés avec les applications suivantes:​ 
 + 
 +    * [[hplip#​mot_de_passe_root_demande|hplip]] 
 +==== Miniconda ==== 
 +Pour limiter le nombre de paquets ou n'​installer que le nécessaire,​ il existe aussi [[miniconda|Miniconda]] qui n'​installe que le gestionnaire de paquet //conda// 
 + 
 +===== Utilisation ===== 
 +De nombreuses ressources sont disponibles sur le web pour apprendre à programmer en Python, reportez-vous aux [[#​voir_aussi|liens de cette page]] 
 + 
 +==== Debugger avec PDB ==== 
 +<note warning>​Si vous êtes débutant, vous préférerez sans doute l'​utilisation d'un [[#​logiciel_editeur_python_ide|IDE]] tel que spyder, eclipse, pycharm</​note>​ 
 +[[https://​docs.python.org/​3/​library/​pdb.html|PDB]] est une solution de débuggage en ligne de commande similaire à [[:​gdb|GDB]]\\ 
 +Pour pouvoir l'​utiliser,​ il suffit d'​ajouter en début de votre fichier python la ligne: 
 +<​code>​import pdb; pdb.set_trace() ​  # pour débugger… en ligne de commande !-) </​code>​ 
 +Le //​pdb.set_trace()//​ peut-être mis plus tard dans le code ! 
 + 
 +Pour débugger, lancer l'​exécution de votre fichier: 
 +<​code>​python mon_script.py</​code>​ 
 +ou dans [[:vim]]: 
 +<​code>:​!python %</​code>​ 
 +Reportez-vous à la doc de [[:​gdb|GDB]] ou à [[https://​docs.python.org/​3/​library/​pdb.html|la doc officielle]] pour débugger ​ (point d'​arrêt,​ raccourcis…) 
  
 ===== Logiciels liés à Python ===== ===== Logiciels liés à Python =====
Ligne 89: Ligne 154:
  
 {{backlinks>​.}} {{backlinks>​.}}
 +  * [[wpfr>​SageMath|SageMath (CAS)]]
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * [[wpfr>​Python_(langage)|Python]] sur wikipedia]] [fr] +  * [[wpfr>​Python_(langage)|Python ​ sur wikipedia]] [fr] 
-  * [[http://​www.afpy.org/​|Association francophone Python]] [fr]+  * [[https://​www.afpy.org/​|Association francophone Python]] [fr]
   * [[http://​wikipython.flibuste.net/​|Wiki Python francophone]] [fr]   * [[http://​wikipython.flibuste.net/​|Wiki Python francophone]] [fr]
-  * [[http://​www.python.org/​|Site officiel]] [en] +  * [[https://​www.python.org/​|Site officiel]] [en] 
-  * [[http://www.python.org/psf/license/|Détail sur la licence]] [en] +  * [[https://www.howopensource.com/2011/05/​how-to-install-and-manage-different-versions-of-python-in-linux/|How to install and manage different versions of Python in Linux]] [en] 
-  * [[http://www.python.org/psf/​|Python ​Software Fondation]] [en+  * [[http://​python.lycee.free.fr/|Débuter avec Python ​au lycée]] [fr
-  * [[http://www.howopensource.com/2011/05/how-to-install-and-manage-different-versions-of-python-in-linux/|How to install and manage different versions of Python in Linux]] [en+  * [[https://frederic-lang.developpez.com/tutoriels/python/python-de-zero/|Tutoriel complet sur developpez.com]] [fr
-  * [[http://fr.openclassrooms.com/​informatique/cours/apprenez-a-programmer-en-python|Apprenez à programmer en Python]] [fr] +  * [[https://www.fun-mooc.fr/​courses/​course-v1:​UCA+107001+session01/​about | MOOC python 3 Inria sur France Universités Numériques]] [fr] 
-  * [[http://​www.jchr.be/​python/​manuel.htm]]+  * [[https://openclassrooms.com/​en/courses/7168871-apprenez-les-bases-du-langage-python]] [fr] 
 +  * [[http://​www.jchr.be/​python/​manuel.htm]] ​[fr] 
 +  * [[https://​inforef.be/​swi/​python.htm|Apprendre à programmer avec Python"​ - Gérard Swinnen]] [fr] librement téléchargeable à l'url: [[https://​inforef.be/​swi/​download/​apprendre_python3_5.pdf]] (version janv. 2012) 
 +  * [[https://​python.swaroopch.com/​]] [en] 
 +  * [[http://​ipython.org/​]] 
 +  * [[https://​github.com/​exaloop/​codon|Codon]] [en] ou comment compiler et accélérer du code python ! et sa [[https://​docs.exaloop.io/​codon|documentation]] [en] 
 +---------
  
-//​[[:​utilisateurs:​draco31.fr|draco31.fr]] ​Le 25/06/201022:23//+//Contributeurs : [[:​utilisateurs:​draco31.fr|draco31.fr]]; Traduction des acronymescorrection grammaticale [[:utilisateurs:​eagle08|René Stoecklin]];​ [[:​utilisateurs:​bcag2]]//
  • python.1401677199.txt.gz
  • Dernière modification: Le 02/06/2014, 04:46
  • par moissan