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édentesRévision précédente
Prochaine révision
Révision précédente
python [Le 20/03/2026, 11:29] – [iPython/Jupyter] ajout lien vers la page dédiée à Jupyter bcag2python [Le 24/03/2026, 18:56] (Version actuelle) – [Les modules/dépendances] mise en forme | liens | détails krodelabestiole
Ligne 1: Ligne 1:
 {{tag>programmation}} {{tag>programmation}}
  
-{{ :python.png?130| Logo Python}}+{{ https://raw.githubusercontent.com/python/cpython/refs/heads/main/PC/icons/logox128.png?96|Logo de 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é, [[wpfr>Programmation_orientée_objet|orienté objet]], dont l'utilisation va des scripts systèmes aux [[:web#applications web]].
  
 Il est régi par 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.
  
-Par défaut, **Python** est installé sur Ubuntu. Saisir ''[[man>python3]]'' dans un [[:terminal]] donne donc accès à l'invite de commande Python. Pour connaître votre version de Python installé, entrez ''python3 -V'' dans le [[:terminal]].+Par défaut, **Python** est installé sur Ubuntu. Saisir ''[[man>python3]]'' dans un [[:terminal]] donne donc accès à l'invite de commande Python.\\  
 +Pour connaître votre version de Python installé, entrez ''python3 -V'' dans le [[:terminal]].
  
 **Python** est aussi un écosystème modulaire, qui propose une importante quantité de bibliothèques dont peut dépendre chaque script. Celles-ci sont centralisées sur le dépôt [[https://pypi.org/|PyPI]] est peuvent être gérées avec ''[[man>pip3]]''. **Python** est aussi un écosystème modulaire, qui propose une importante quantité de bibliothèques dont peut dépendre chaque script. Celles-ci sont centralisées sur le dépôt [[https://pypi.org/|PyPI]] est peuvent être gérées avec ''[[man>pip3]]''.
  
-<note important+<note> 
-**Cependant** :+Pour plus d'information sur la programmation en Python, référez-vous au portail //[[:programmation#python|Programmation]]//
 +</note>
  
-Sur Ubuntu, **Python** est étroitement lié au système. Pour une utilisation avancée on évitera donc d'utiliser la version native, installée par défaut (donc la commande ''[[man>python3]]''), ou ''[[man>pip3]]'', son gestionnaire de dépendance associé.+===== Environnements virtuels/isolés =====
  
-C'est là qu'intervient **[[https://github.com/pypa/pipx|pipx]]** (ou ses équivalents) :\\ +Sur Ubuntu, **Python** est étroitement lié au [[:système]] : il est utilisé par de nombreux outils fournissant des fonctionnalités essentielles à l'ordinateur. Pour une utilisation avancéemieux vaut donc éviter d'utiliser la version native, installée par défaut (donc la commande ''[[man>python3]]''), ou ''[[man>pip3]]'', son gestionnaire de dépendances associé. 
-**pipx** permet d'exécuter chaque script **Python** dans un environnement isoléce qui permet d'utiliser les versions de son choix avec les dépendances de son choix sans interférer avec le système (à la manière de //[[:docker|containers]]//, en plus simple).+ 
 +C'est là qu'interviennent différentes solutions pour initier et gérer des environnements virtuels (ou isolés) et utiliser les versions de son choix avec les dépendances de son choix sans interférer avec le système (à la manière de //[[:docker|containers]]//, en plus simple) 
 + 
 +==== venv ==== 
 + 
 +**[[:tutoriel:python-virtualenv|virtualenv]]** est la solution de base, fournie par l'écosystème Python. 
 + 
 +==== PipX ==== 
 + 
 +**[[https://github.com/pypa/pipx|PipX]]** permet de remplacer [[https://pypi.org/project/pip/|pip]], en installant les dépendances de son choix, mais cette fois dans l'environnement de son choix (la version de Python), et de manière très simple.
  
 Pour lancer un script local incluant une dépendance avec ''[[man>pipx]]'', la commande sera par exemple : Pour lancer un script local incluant une dépendance avec ''[[man>pipx]]'', la commande sera par exemple :
-  pipx run --spec dependence python3 script.py+<code bash>pipx run --spec dependence python3 script.py</code>
 où ''dependence'' est une bibliothèque **Python** dont dépend ''script.py''. où ''dependence'' est une bibliothèque **Python** dont dépend ''script.py''.
-</note> 
  
-<note>Pour plus d'information sur la programmation en Python, référez-vous au portail [[:programmation#python|Programmation]].</note>+==== Pixi ==== 
 + 
 +**[[https://pixi.prefix.dev/latest/|Pixi]]** est un autre gestionnaire de dépendances très répandu, qui gère d'autres langages que le Python
 + 
 +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> 
 + 
 +==== uv ==== 
 + 
 +**[[https://docs.astral.sh/uv/|uv]]**((dont la société, Astral a été racheté par OpenAI en mars 2026 !)) est aussi un gestionnaire de dépendance très répandu, rapide (développé en [[wpfr>Rust_(langage)|Rust]]). 
 + 
 +===== Applications =====
  
-==== Logiciels éditeur Python (IDE)  ====+==== Éditeurs Python ====
  
-Les logiciels pour éditer des scripts python :+Les applications ([[:IDE]]) 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^
-^Nom^CP^C/F^AC^MLS^PD^EM^SC^SI^BM^LN^UML^CF^CT^UT^UID^DB^RAD^comments^ +^ Nom                ^CP    ^C/F^AC^MLS^PD^EM^SC^SI^BM^LN^UML^CF^CT^UT^UID^DB^RAD^comments^ 
-|BlackAdder |**Y** | C | | | | | |Y | | | |Y | | | | | | | +| BlackAdder         |**Y** | C |       |Y |     |Y |               
-|[[bluefish|BlueFish]] |**L** | | | | | | | | | | | | | | | | | +| [[:BlueFish]]      |**L** |                      |        
-|Boa Constructor|**Y** | F |Y | |Y |Y | |Y |Y |Y | Y |Y |Y | | | | | +| Boa Constructor    |**Y** | F |Y |   |Y |Y |  |Y |Y |Y | Y |Y |Y |       |        
-| ConTEXT |W | C | | | | | | | | | | | | | | | | +| ConTEXT            |W     | C |                    |        
-|DABO |**Y** | | | | | | | | | | | | | | | | | +| DABO               |**Y** |                      |        
-| DreamPie | | F | | | | | | | | | | | | | | | | +| DreamPie                | F |                    |        
-|Dr.Python | | F | | | |Y | | | | | | | | | | | | | +| Dr.Python               | F |     |Y |                      
-|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]]         |**Y** | F |Y | Y |Y |Y |Y |Y |Y |Y | Y |Y |Y |Y |      |        
-|[[eric|Eric Ide]] |**Y** | F |Y | Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y |Y¹ |Y² | |¹QtDesigner ²Navigateur SQL intégré| +| [[:eric|Eric Ide]] |**Y** | F |Y | Y |Y |Y |Y |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]]         |**Y** | F |Y*| Y |    |Y |Y |Y |   |Y |        |*très limité
-|[[gedit|Gedit]] |**Y** | F |Y¹| Y | | | |Y |Y |Y | | |Y²| | | | |¹ with plugin ² sort of+| [[:Gedit]]         |**Y** | F |Y¹| Y |    |Y |Y |Y |    |Y²|       |¹avec extension ²plus ou moins
-| [[idle|Idle]]           |**Y** | F |Y |    |  |  |  |  |  |    |  |  |    |   | +| [[:Idle]]          |**Y** | F |Y |    |  |  |  |  |  |    |  |  |    |   |        
-| [[jedit|JEdit]]          |**Y** | F |  | Y |  |  |  |  |Y |Y |   |Y |  |  |    |   | +| [[:JEdit]]         |**Y** | F |  | Y |  |  |  |  |Y |Y |   |Y |  |  |    |   |        
-| [[kdevelop|KDevelop]]       |**Y** | F |  | Y |  |  |Y |Y |Y |Y |   |Y |  |  |    |   | +| [[:KDevelop]]      |**Y** | F |  | Y |  |  |Y |Y |Y |Y |   |Y |  |  |    |   |        
-^Nom^CP^C/F^AC^MLS^PD^EM^SC^SI^BM^LN^UML^CF^CT^UT^UID^DB^RAD^comments^ +^ Nom                ^CP    ^C/F^AC^MLS^PD^EM^SC^SI^BM^LN^UML^CF^CT^UT^UID^DB^RAD^comments^ 
-| [[komodo_edit|Komodo]]         |**Y** |C/F|Y | Y |Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   |Y |   | +| [[:komodo_edit|Komodo]]|**Y**|C/F|Y|Y|Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   |Y |   |        
-| [[netbeans|NetBeans]]       |**Y** | F |Y | Y |Y |  |Y |Y |Y |Y | Y |Y |Y |Y |    | Y | +| [[:NetBeans]]      |**Y** | F |Y | Y |Y |  |Y |Y |Y |Y | Y |Y |Y |Y |    | Y |        
-| NotePad++      |W | F |  | Y |  |  |  |  |  |Y |    |  |  |    |   | +| NotePad++          |W     | F |  | Y |  |  |  |  |  |Y |    |  |  |    |   |        
-| Pfaide         |W | C |Y | Y |  |  |  |Y |Y |Y |   |Y |Y |  |    |   | +| Pfaide             |W     | C |Y | Y |  |  |  |Y |Y |Y |   |Y |Y |  |    |   |        
-| PIDA           |**L**W| F |Y | Y |  |  |  |Y |Y |Y |   |Y |  |  |    |   |VIM based +| PIDA               |**L**W| F |Y | Y |  |  |  |Y |Y |Y |   |Y |  |  |    |   |basé sur [[:VIM]]| 
-| 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 |*basé sur WPF| 
-| [[: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]])|**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 |    |   |        
-| PythonWin      |W | F |Y |   |Y |  |  |Y |Y |  |   |Y |  |  |    |   | +| PythonWin          |W     | F |Y |   |Y |  |  |Y |Y |  |   |Y |  |  |    |   |        
-| [[scite|SciTE]]          |**Y** | F |  | Y |  |Y |  |  |Y |Y |   |Y |Y |  |    |   | +| [[:SciTE]]         |**Y** | F |  | Y |  |Y |  |  |Y |Y |   |Y |Y |  |    |   |        
-| ScriptDev      |W | C |Y | Y |Y |Y |  |Y |Y |Y |   |Y |Y |  |    |   | +| ScriptDev          |W     | C |Y | Y |Y |Y |  |Y |Y |Y |   |Y |Y |  |    |   |        
-| SPE             | F |Y |    |  |  |  |  |  | Y |  |  |  |    |   | +| SPE                     | F |Y |    |  |  |  |  |  | Y |  |  |  |    |   |        
-| [[spyder|Spyder/spyderlib]]         |**Y** | F |Y |   |Y |Y |  |Y |Y |Y |    |  |  |    |   | +| [[:spyder|Spyder/spyderlib]]|**Y**|F|Y||Y|Y|  |Y |Y |Y |    |  |  |    |   |        
-| [[sublime-text|Sublime Text]]   |**Y** | C |Y | Y |    |Y |Y |Y |    |Y |  |    |   |extensible w/python +| [[:sublime-text|Sublime Text]]|**Y**|C|Y|Y||| |Y |Y |Y |    |Y |  |    |   |extension Python| 
-| TextMate       |M |    | Y |  |  |  |Y |Y |Y |   |Y |Y |  |    |   | +| TextMate           |M     |    | Y |  |  |  |Y |Y |Y |   |Y |Y |  |    |   |        
-| 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]]           |**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]]  +| [[: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 +| WingIde            |**Y** | C |Y | Y*|Y |Y |Y |Y |Y |Y |   |Y |Y |Y |    |   |*support de 
-| Zeus           |W | C |  |    |  |Y |Y |Y |Y |   |Y |Y |  |    |   | +| Zeus               |W     | C |  |    |  |Y |Y |Y |Y |   |Y |Y |  |    |   | 
-^Nom^CP^C/F^AC^MLS^PD^EM^SC^SI^BM^LN^UML^CF^CT^UT^UID^DB^RAD^comments^+^ Nom                ^CP    ^C/F^AC^MLS^PD^EM^SC^SI^BM^LN^UML^CF^CT^UT^UID^DB^RAD^comments^
  
 Acronymes: Acronymes:
-  *     Y - Yes +  * Y - Yes 
-  *     CP - Cross Platform — { multi-plateformes } +  * CP - Cross Platform — { multi-plateformes } 
-  *     C - Commercial — { sous licence commerciale } +  * C - Commercial — { sous licence commerciale } 
-  *     F - Free — { sous licence gratuite } +  * F - Free — { sous licence gratuite } 
-  *     AC - Automatic Code-completion — { finalisation automatique du code } +  * AC - Automatic Code-completion — { finalisation automatique du code } 
-  *     MLS - Multi-Language Support — { intégration multilingue } +  * MLS - Multi-Language Support — { intégration multilingue } 
-  *     PD - Integrated Python Debugging { interface de débogage du code Python intégrée } +  * PD - Integrated Python Debugging { interface de débogage du code Python intégrée } 
-  *     EM - ErrorMarkup — { procédure de balisage d'erreurs } +  * EM - ErrorMarkup — { procédure de balisage d'erreurs } 
-  *     SC - Source Control integration — { procédure de contrôle du code source intégrée } +  * SC - Source Control integration — { procédure de contrôle du code source intégrée } 
-  *     SI - Smart Indent — { formatage intelligent du code source } +  * SI - Smart Indent — { formatage intelligent du code source } 
-  *     BM - Bracket Matching — { fermeture automatique des différentes parenthèses } +  * BM - Bracket Matching — { fermeture automatique des différentes parenthèses } 
-  *     LN - Line Numbering — { numérotation automatique des lignes de code } +  * LN - Line Numbering — { numérotation automatique des lignes de code } 
-  *     UML - UML editing / viewing — { édition et visualisation du langage unifié de modélisation graphique } +  * UML - UML editing / viewing — { édition et visualisation du langage unifié de modélisation graphique } 
-  *     CF - Code Folding — { procédure de repli synthétique du code source } +  * CF - Code Folding — { procédure de repli synthétique du code source } 
-  *     CT - Code Templates — { modélisation/prototypage du code source } +  * CT - Code Templates — { modélisation/prototypage du code source } 
-  *     UT - Unit Testing — { tests des unités de commandes } +  * UT - Unit Testing — { tests des unités de commandes } 
-  *     UID - GUI Designer (for example, Qt, Eric, ..) — { module de conception des interfaces graphiques dédiées à l'utilisateur } +  * UID - GUI Designer (for example, Qt, Eric, ..) — { module de conception des interfaces graphiques dédiées à l'utilisateur } 
-  *     DB - integrated database support — { intégration et gestion des bases de données } +  * DB - integrated database support — { intégration et gestion des bases de données } 
-  *     RAD - Rapid application development support — { gestion de la modélisation/du développement accélérés des applications } +  * 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 et librairies pour créer des interfaces graphiques pour python:+ 
 +Les applications et librairies pour créer des interfaces graphiques pour python :
   * Tkinter (librairie python)   * Tkinter (librairie python)
   * QT Creator (logiciel) ou pyQT (librairie python) pour des interfaces en QT   * QT Creator (logiciel) ou pyQT (librairie python) pour des interfaces en QT
Ligne 109: Ligne 142:
 Actuellement, Ubuntu [[:noble|24.04]] est livrée avec **Python 3.12**. Actuellement, Ubuntu [[:noble|24.04]] est livrée avec **Python 3.12**.
  
-==== Les modules ====+==== Les modules/dépendances ====
  
-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 est souvent utile ou nécessaire d'ajouter des modules (bibliothèques) à l'installation de base. Ceci 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 dépendances Python [[wpfr>Pip_(gestionnaire_de_paquets)|PIP]] (commandes ''[[man>pip]]'' ou ''[[man>pip3]]'' qui utilisent le dépôt [[https://pypi.org/|PyPI]]). 
 + 
 +Pour installer (sous-commande ''[[man>pip3-install|install]]''par exemple le module [[https://pypi.org/project/pyserial/|pyserial]] (communication série) :
 <code bash>pip install pyserial</code> <code bash>pip install pyserial</code>
-Pour lister les modules installés : +Pour lister (sous-commande ''[[man>pip3-list|list]]''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//)\\ +<code bash>pip list</code> On peut ajouter l'option ''%%--%%local'' pour ne lister que ceux installés localement (dans le répertoire des [[:arborescence#binaires personnels]] ''[[:arborescence#binaires_personnels|$USER/.local/bin]]'').\\ 
-Sans l'option ci-dessusil y en a beaucoup, aussi un //pipe// avec grep peut être utile !<code bash>pip list | grep pyserial</code>+Sans cetteoptionla liste est longue. Un //[[:pipe]]// avec ''[[man>grep]]'' peut donc s'avérer utile !<code bash>pip list | grep pyserial</code> 
 + 
 +Les dépendances (modules et autres métadonnées) peuvent être définies dans un fichier  
 +  * ''requirements.txt'' 
 +ou mieux encore dans un fichier  
 +  * ''pyproject.toml'' ((défini dans la [[https://peps.python.org/pep-0621/|PEP-0621]], cf. [[https://packaging.python.org/en/latest/specifications/pyproject-toml/]])) qui permet de définir des sections (''debug'', ''dev''…) et des métadonnées.
  
 ==== IDLE 3 ==== ==== IDLE 3 ====
 +
 Pour installer IDLE, il suffit d'installer ''idle-python3.xx'' où 3.xx est la version que l'on a de python et on l'exécute en utilisant ce même nom. Pour installer IDLE, il suffit d'installer ''idle-python3.xx'' où 3.xx est la version que l'on a de python et on l'exécute en utilisant ce même nom.
  
Ligne 129: Ligne 170:
  
 ==== 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.\\ <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 :\\ Il existe plusieurs alternatives, notamment :\\
Ligne 147: Ligne 189:
  
     * [[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 ====
  
 Également basé sur le canal Anaconda. Les réserves exprimées ci-dessus sont donc également vraies pour Miniconda.\\ Également basé sur le canal Anaconda. Les réserves exprimées ci-dessus sont donc également vraies pour 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//+[[: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 =====
-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 ====+L'utilisation de Python dépend évidemment de la ressource choisie ([[wpfr>Python_(langage)#Distributions|distribution]], [[#Environnements virtuels/isolés|virtualisation]]...).
  
-<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> +De nombreuses ressources sont disponibles sur le web pour apprendre à programmer en Pythonreportez-vous aux [[#voir_aussi|liens de cette page]].
-[[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 !+
  
-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…)+==== Débugger avec PDB ====
  
-===== Logiciels liés à Python =====+<note tip> 
 +Si vous êtes débutant, vous préférerez sans doute l'utilisation d'un [[#logiciel_editeur_python_ide|IDE]] tel que spyder, eclipse, ou pycharm. 
 +</note>
  
-Voici la liste des pages de la documentation présentant les logiciels liés au langage Python :+[[https://docs.python.org/3/library/pdb.html|PDB]] est une solution de débuggage en ligne de commande similaire à [[:GDB]].
  
-{{backlinks>.#!utilisateurs:}}+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 ! 
 + 
 +Reportez-vous à la doc de [[:GDB]] ou à [[https://docs.python.org/3/library/pdb.html|la documentation officielle]] pour débugger  (point d'arrêt, raccourcis…).
  
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 189: Ligne 219:
   * **(//en//)** [[https://www.python.org/|Site officiel]]    * **(//en//)** [[https://www.python.org/|Site officiel]] 
   * [[wpfr>Python_(langage)|Python]] sur wikipedia   * [[wpfr>Python_(langage)|Python]] sur wikipedia
 +  * [[https://github.com/python/cpython|GitHub]]
   * [[https://www.afpy.org/|Association francophone Python]]   * [[https://www.afpy.org/|Association francophone Python]]
   * [[http://wikipython.flibuste.net/|Wiki Python francophone]]   * [[http://wikipython.flibuste.net/|Wiki Python francophone]]
Ligne 200: Ligne 231:
   * **(//en//)** **[[https://github.com/exaloop/codon|Codon]]** ou comment compiler et accélérer du code python ! et sa [[https://docs.exaloop.io/codon|documentation]]   * **(//en//)** **[[https://github.com/exaloop/codon|Codon]]** ou comment compiler et accélérer du code python ! et sa [[https://docs.exaloop.io/codon|documentation]]
   * **(//en//)** **[[https://docs.astral.sh/uv/|uv]]**, gestion de projets et de paquets.   * **(//en//)** **[[https://docs.astral.sh/uv/|uv]]**, gestion de projets et de paquets.
 +
 +==== Pages liées à Python ====
 +
 +Voici la liste des pages de la documentation présentant les logiciels liés au langage Python :
 +
 +{{backlinks>.#!utilisateurs:}}
  
 ---- ----
 //[[:Contributeurs]] : [[:utilisateurs:draco31.fr|draco31.fr]], [[:utilisateurs:eagle08|René Stoecklin]], [[:utilisateurs:bcag2]], [[:utilisateurs:krodelabestiole]].// //[[:Contributeurs]] : [[:utilisateurs:draco31.fr|draco31.fr]], [[:utilisateurs:eagle08|René Stoecklin]], [[:utilisateurs:bcag2]], [[:utilisateurs:krodelabestiole]].//