Logo Python

Langage de programmation Python

Python est un langage de programmation interprété, orienté objet, dont l'utilisation va des scripts systèmes aux applications web.
Il est régi par une licence libre proche de la licence BSD et fonctionne sur la plupart des plateformes.

Pour plus d'information sur la programmation en Python, référez-vous au portail Programmation.
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 éditeur Python (IDE)

Les logiciels pour éditer des scripts python :

NomCross PlatformCommercial ou FreeAuto Code CompletionMulti-Language SupportIntegrated Python DebuggingError MarkupSource Control IntegrationSmart IndentBracket MatchingLine NumberingUML Editing or ViewingCode FoldingCode Templates Unit TestingGUI DesignerIntegrated DB Support Rapid Application Development
NomCPC/FACMLSPDEMSCSIBMLNUMLCFCTUTUIDDBRADcomments
BlackAdder Y C Y Y
BlueFish L
Boa ConstructorY F Y Y Y Y Y Y Y Y Y
ConTEXT W C
DABO Y
DreamPie F
Dr.Python F Y
Editra Y F Y Y Y Y Y Y Y
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 Y Y Y Y Y ¹QtDesigner ²Navigateur SQL intégré
E-Texteditor W
Geany Y F Y* Y Y Y Y Y * very limited
Gedit Y F Y Y Y Y ¹ with plugin ² sort of
Idle Y F Y
JEdit Y F Y Y Y Y
KDevelop Y F Y Y Y Y Y Y
NomCPC/FACMLSPDEMSCSIBMLNUMLCFCTUTUIDDBRADcomments
Komodo Y C/FY 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
Pfaide W C Y Y Y Y Y Y Y
PIDA LW F Y Y Y Y Y Y
PTVS W F Y Y Y Y Y Y Y Y Y Y* Y
PyCharm Y C 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
PythonWin W F 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
SPE F Y Y
Spyder/spyderlib Y F Y Y Y Y Y Y
Sublime Text Y C Y Y Y Y Y Y
TextMate M Y Y Y Y Y Y
UliPad Y F Y Y Y Y Y Y Y
Vim Y F Y Y Y Y Y Y Y Y Y Y Y
WingIde Y C Y Y*Y Y Y Y Y Y Y Y Y
Zeus W C Y Y Y Y Y Y
NomCPC/FACMLSPDEMSCSIBMLNUMLCFCTUTUIDDBRADcomments

Acronymes:

  • CP - Cross Platform — { multi-plateformes }
  • C - Commercial — { sous licence commerciale }
  • F - Free — { sous licence gratuite }
  • AC - Automatic Code-completion — { finalisation automatique du code }
  • MLS - Multi-Language Support — { intégration multilingue }
  • PD - Integrated Python Debugging { interface de débogage du code Python intégrée }
  • EM - ErrorMarkup — { procédure de balisage d'erreurs }
  • SC - Source Control integration — { procédure de contrôle du code source intégrée }
  • SI - Smart Indent — { formatage intelligent du code source }
  • BM - Bracket Matching — { fermeture automatique des différentes parenthèses }
  • LN - Line Numbering — { numérotation automatique des lignes de code }
  • 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 }
  • CT - Code Templates — { modélisation/prototypage du code source }
  • 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 }
  • 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 }
  • L - Linux
  • W - Windows
  • M - Mac

Logiciels de création d'interface graphique

Les logiciels pour créer des interfaces graphiques pour python:

  • QT Creator pour des interfaces en QT

Terminal

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.

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

Les modules

Il faut souvent ajouter des modules (bibliothèques) à l'installation de base. Cela peut-être fait via les suites d'outils anaconda ou 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 PIP, par exemple, pour installer le module PySerial (communication série)

pip install pyserial

Pour lister les modules installés :

pip list

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 !

pip list | grep pyserial

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)

$ sudo apt install python3-pip
$ pip3 install --upgrade pip
$ sudo pip3 install jupyter
$ sudo pip3 install ipython

Anaconda

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 :

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.

Anaconda est une suite d'outils (plus de 200 paquets et plus de 500Mo) allant de l'éditeur Spyder au framework Qt et PyQt, en passant par 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 liste des paquets installés est visualisable via anaconda-navigator puis Environnements. En cas de soucis, pensez à mettre à jour le navigateur:

conda update anaconda-navigator 

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:

Miniconda

Pour limiter le nombre de paquets ou n'installer que le nécessaire, il existe aussi Miniconda qui n'installe que le gestionnaire de paquet conda

De nombreuses ressources sont disponibles sur le web pour apprendre à programmer en Python, reportez-vous aux liens de cette page

Debugger avec PDB

Si vous êtes débutant, vous préférerez sans doute l'utilisation d'un IDE tel que spyder, eclipse, pycharm

PDB est une solution de débuggage en ligne de commande similaire à GDB
Pour pouvoir l'utiliser, il suffit d'ajouter en début de votre fichier python la ligne:

import pdb; pdb.set_trace()   # pour débugger… en ligne de commande !-) 

Le pdb.set_trace() peut-être mis plus tard dans le code !

Pour débugger, lancer l'exécution de votre fichier:

python mon_script.py

ou dans vim:

:!python %

Reportez-vous à la doc de GDB ou à la doc officielle pour débugger (point d'arrêt, raccourcis…)

  • python.txt
  • Dernière modification: Le 17/10/2024, 12:09
  • par bcag2