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 22/08/2022, 16:37]
moths-art passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
python [Le 02/07/2025, 15:45] (Version actuelle)
195.220.58.237 [Logiciel éditeur Python (IDE)]
Ligne 1: Ligne 1:
- 
- 
 {{tag>​programmation}} {{tag>​programmation}}
  
Ligne 57: Ligne 55:
 | UliPad ​        ​|**Y** | F |Y | Y |Y |  |  |Y |Y |  |   ​| ​ |Y |Y |   ​| ​ |   | | UliPad ​        ​|**Y** | F |Y | Y |Y |  |  |Y |Y |  |   ​| ​ |Y |Y |   ​| ​ |   |
 | [[vim|Vim]] ​           |**Y** | F |Y | Y |Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   ​| ​ |   | | [[vim|Vim]] ​           |**Y** | F |Y | Y |Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   ​| ​ |   |
 +| [[visual_studio_code|VS Code/​Codium]] | **Y**| F |Y | Y |Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   ​| ​ | [[https://​code.visualstudio.com/​docs/​languages/​python|module python pour codium/​VSC]] ​ |
 | WingIde ​       |**Y** | C |Y | Y*|Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   ​| ​ |   |* support for C | WingIde ​       |**Y** | C |Y | Y*|Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   ​| ​ |   |* support for C
 | Zeus           |W | C |  |   ​| ​ |  |Y |Y |Y |Y |   |Y |Y |  |   ​| ​ |   | | Zeus           |W | C |  |   ​| ​ |  |Y |Y |Y |Y |   |Y |Y |  |   ​| ​ |   |
Ligne 62: Ligne 61:
  
 Acronymes: Acronymes:
 +  *     Y - Yes
   *     CP - Cross Platform — { multi-plateformes }   *     CP - Cross Platform — { multi-plateformes }
   *     C - Commercial — { sous licence commerciale }   *     C - Commercial — { sous licence commerciale }
Ligne 84: Ligne 84:
   *     M - Mac   *     M - Mac
 ==== Logiciels de création d'​interface graphique ==== ==== Logiciels de création d'​interface graphique ====
-Les logiciels pour créer des interfaces graphiques pour python: +Les logiciels ​et librairies ​pour créer des interfaces graphiques pour python: 
-  * QT Creator pour des interfaces en QT +  * Tkinter (librairie python) 
 +  * QT Creator ​(logiciel) ou pyQT (librairie python) ​pour des interfaces en QT
  
 ===== Installation ===== ===== Installation =====
- ==== Python 2 ==== 
-Python 2 est installé par défaut, il suffit de taper ''​python''​ dans un terminal pour accéder à l'​interpréteur. \\ Pour Bionic 18.04, c'est la version 2.7 qui est installée. 
- 
-<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>​ 
- 
 ==== Python 3 et Ubuntu ==== ==== Python 3 et Ubuntu ====
 +Depuis Ubuntu [[:18.04]], //Python 3// est installé par défaut et est accessible via la commande ''​python3''​.\\
 +À partir d'​Ubuntu [[:20.04]] ([[:​focal]]),​ python 2 n'est plus installé par défaut. C'est //Python 3.8// qui le remplace et est accessible avec la commande ''​python''​ (''​python3''​ reste disponible).
  
-=== Ubuntu ​18.04 et suivant ===+Actuellement, ​Ubuntu ​[[:noble|24.04]] est livrée avec //Python 3.12//.
  
-Ubuntu ​[[:18.04]] est livrée avec //Python 3.6// par défaut, il suffit de taper ''​python3''​ pour l'invoquer.\\ +==== Python 2 ==== 
-Sous [[:focal]] c'est //Python 3.8//, accessible avec ''​python'',​ python 2 n'​étant plus installé par défaut !+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.
  
-=== Ubuntu 16.04 === +<note warning> Python 2.7 est en fin de vie depuis le 1er janvier 2020. Il est recommandé de passer à Python ​car Python 2 n'​est ​plus supportéUne future ​version ​du PIP abandonnera ​la prise en charge de Python ​2.7Plus de détails sur le support de Python 2 dans PIP : https://PIP.PYPA.IO/fr/Latest/Development/release-process/#python-2-support ​</note>
- +
-La dernière version (3.6) n'​est ​pas dans les dépots de la dernière LTS 16.04. \\ La version ​3.6 comporte des différences significatives par rapport à la version précédente (entre autres avec les F String) et peut être nécessaire. +
- +
-Pour installer ​Python ​3.6 avec Ubuntu 16.04, il faut ajouter un ppa : +
-  * soit  ''​jonathonf/python-3.6''​ +
-  * soit ''​deadsnakes/ppa''​ +
- +
-Puis on installe Python 3.6. +
- +
-Les commandes complètes avec, par exemple, ​//jonathon// ppa : +
- +
-<code bash> +
-$ sudo add-apt-repository ppa:​jonathonf/python-3.6 +
-$ sudo apt update +
-$ sudo apt install python3.6  +
-</code> +
- +
-Pour invoquer l'​interpréteur,​ il faut taper ''​python3''​ ou ''​python3.6''​ !+
  
 ==== Les modules ==== ==== 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) 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>​ <code bash>pip install pyserial</​code>​
-<note important>​pour ​python3utiliser **pip3** si vous êtes sous [[bionic]] ou avantcar pip installerait alors des paquets pour python2</note>+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-dessusil y en a beaucoupaussi un //pipe// avec grep peut être utile !<code bash>pip list | grep pyserial</code>
 ==== IDLE 3.6 ==== ==== 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. 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.
Ligne 140: Ligne 121:
  
 ==== Anaconda ==== ==== Anaconda ====
 +<note warning>​La société Anaconda a fait des changements de licences qui peuvent entraîner la nécessité de payer pour accéder à certaines librairies.\\
 +Il existe plusieurs alternatives,​ notamment :\\
 +  * Micromamba : https://​mamba.readthedocs.io/​en/​latest/​user_guide/​micromamba.html
 +  * Miniforge : installateur maintenu par conda-forge (communautaire) pour mamba/conda https://​github.com/​conda-forge/​miniforge
 +  * [[#​pixi|Pixi]] : https://​pixi.sh/​latest/​
 +
 +Pixi semble être la solution la plus ergonomique pour gérer des environnements conda sans Anaconda ni Miniconda. Pixi présente pas mal d'​avantages (https://​prefix.dev/​blog/​pixi_a_fast_conda_alternative) et est très orienté science (https://​prefix.dev/​blog/​pixi_for_scientists)
 +
 +Enfin, il faut surtout désactiver le canal "​defaults"​ des environnements conda en mettant "​nodefaults"​ à la place (par exemple : https://​github.com/​pierrepo/​env-logiciels-bioinfo/​blob/​main/​cours/​rnaseq.yml). En effet, conda va toujours utiliser ce canal "​defaults"​ qui appartient à Anaconda.</​note>​
 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//​…\\ 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:\\ Pour l'​installer,​ reportez-vous à la page dédiée sur le site officiel:\\
Ligne 149: Ligne 139:
  
     * [[hplip#​mot_de_passe_root_demande|hplip]]     * [[hplip#​mot_de_passe_root_demande|hplip]]
 +==== Pixi ====
 +Avec [[https://​pixi.sh|Pixi]]((sous licence BSD-3… [[https://​github.com/​prefix-dev/​pixi/​blob/​main/​LICENSE]] qui utilise //​conda-forge//​ également sous BSD-3 [[https://​github.com/​conda-forge/​conda-forge.github.io/​blob/​main/​LICENSE]])) , on peut complètement éviter de dépendre des serveurs de l'​entreprise //​Anaconda//​ et à la place dépendre des serveurs de //Prefix// (l'​entreprise allemande derrière mamba et Pixi).
 +
 +Pour l'​installer :
 +<code bash>
 +curl -fsSL https://​pixi.sh/​install.sh | sh
 +# ou avec wget :
 +wget -qO- https://​pixi.sh/​install.sh | sh
 +</​code>​
 +Facile à mettre à jour en relançant l'​installation ou 
 +<code bash>
 +pixi self-update
 +</​code>​
 +
 ==== Miniconda ==== ==== 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//+ 
 +Également basé sur le canal Anaconda. Les réserves exprimées ci-dessus sont donc également vraies pour Miniconda.\\ 
 +[[miniconda|Miniconda]] permet de limiter le nombre de paquets ou de n'​installer que le strict ​nécessaire. Ça n'​installe que le gestionnaire de paquet //conda//
  
 ===== Utilisation ===== ===== Utilisation =====
Ligne 183: Ligne 189:
   * [[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]   * [[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://​python.lycee.free.fr/​|Débuter avec Python au lycée]] [fr]   * [[http://​python.lycee.free.fr/​|Débuter avec Python au lycée]] [fr]
 +  * [[https://​frederic-lang.developpez.com/​tutoriels/​python/​python-de-zero/​|Tutoriel complet sur developpez.com]] [fr]
   * [[https://​www.fun-mooc.fr/​courses/​course-v1:​UCA+107001+session01/​about | MOOC python 3 Inria sur France Universités Numériques]] [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://fr.openclassrooms.com/​informatique/cours/apprenez-a-programmer-en-python]] [fr]+  * [[https://​openclassrooms.com/​en/courses/7168871-apprenez-les-bases-du-langage-python]] [fr]
   * [[http://​www.jchr.be/​python/​manuel.htm]] [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: [[http://​inforef.be/​swi/​download/​apprendre_python3_5.pdf]] (version janv. 2012) +  * [[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) 
-  * [[http://www.swaroopch.com/​notes/​python/]] [en+  * [[https://python.swaroopch.com/​]] [en]
-  * [[http://​www.esi.umontreal.ca/​~mousseau/​phy1234/​notes/​notes_1.html]] [fr]+
   * [[http://​ipython.org/​]]   * [[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]
 +  * [[https://​docs.astral.sh/​uv/#​highlights]] [en] gestion de projets et de paquets.
 --------- ---------
  
-//Date de création ​25 juin 2010.[[:​utilisateurs:​draco31.fr|draco31.fr]];​ +//Contributeurs ​: [[:​utilisateurs:​draco31.fr|draco31.fr]];​ Traduction des acronymes, correction grammaticale [[:​utilisateurs:​eagle08|René Stoecklin]]; ​[[:​utilisateurs:​bcag2]]//
-Traduction des acronymes, correction grammaticale [[:​utilisateurs:​eagle08|René Stoecklin]];//​+
  • python.1661179021.txt.gz
  • Dernière modification: Le 22/08/2022, 16:37
  • par moths-art