Ceci est une ancienne révision du document !
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 placé sous une licence libre proche de la licence BSD et fonctionne sur la plupart des plateformes.
Programmer en Python
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 :
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 |
BlackAdder | Y | C | Y | Y | ||||||||||||||
BlueFish | L | |||||||||||||||||
Boa Constructor | Y | 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 | 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 | 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 | ||||||||||
Nom | CP | C/F | AC | MLS | PD | EM | SC | SI | BM | LN | UML | CF | CT | UT | UID | DB | RAD | comments |
Komodo | Y | C/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 | ||||||||||||||
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 | ||||||||||
Nom | CP | C/F | AC | MLS | PD | EM | SC | SI | BM | LN | UML | CF | CT | UT | UID | DB | RAD | comments |
Acronymes:
- CP - Cross Platform
- C - Commercial
- F - Free
- AC - Automatic Code-completion
- MLS - Multi-Language Support
- PD - Integrated Python Debugging
- EM - ErrorMarkup
- SC - Source Control integration
- SI - Smart Indent
- BM - Bracket Matching
- LN - Line Numbering
- UML - UML editing / viewing
- CF - Code Folding
- CT - Code Templates
- UT - Unit Testing
- UID - GUI Designer (for example, Qt, Eric, ..)
- DB - integrated database support
- RAD - Rapid application development support
- 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
Installation
Python 2
Python 2 est installé par défaut, il suffit de taper python
dans un terminal pour accéder à l'interpréteur.
Python 3 et Ubuntu
Ubuntu 14.04 et 16.04
La dernière version (3.6) n'est pas dans les dépots de la dernière LTS 16.04 (ni de la précédente 14.04) . La version 3.6 apporte 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 :
$ sudo add-apt-repository ppa:jonathonf/python-3.6 $ sudo apt update $ sudo apt install python3.6
Pour invoquer l'interpréteur, il faut taper python3
ou python3.6
!
Ubuntu 17.04
Pour Ubuntu 17.04, Python 3.6 est proposé dans le dépôt universe, donc si ce dépôt est activé, il suffit de taper :
$ sudo apt install python3.6
Ubuntu 17.10
Ubuntu 17.10 est livré avec Python 3.6 par défaut, il suffit de taper python3
pour l'invoquer.
Correction bug apt-add-repository
Après avoir installé Python 3.6 ( sur quelle version d'ubuntu?), il est possible d'avoir une erreur en exécutant
apt-add-repository
:
$ sudo apt-add-repository 'deb http://liveusb.info/multisystem/depot all main' Traceback (most recent call last): File "/usr/bin/apt-add-repository", line 11, in <module> from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 27, in <module> import apt_pkg ModuleNotFoundError: No module named 'apt_pkg' Error in sys.excepthook: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook from apport.fileutils import likely_packaged, get_recent_crashes File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module> from apport.report import Report File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module> import apport.fileutils File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module> from apport.packaging_impl import impl as packaging File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module> import apt File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module> import apt_pkg ModuleNotFoundError: No module named 'apt_pkg'
Il manque un fichier /usr/lib/python3/dist-packages/apt_pkg.so
! Il suffit de faire un lien symbolique avec le fichier apt_pkg.cpython-*.so
dans le répertoire /usr/lib/python3/dist-packages
.
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
Logiciels liés à Python
Voici la liste des pages de la documentation présentant les logiciels liés au langage Python :