editeurs python

This commit is contained in:
gwen 2015-04-30 14:57:46 +02:00 committed by Benjamin Bohard
parent 478b2134f1
commit a2dd45b16a

View File

@ -1,3 +1,5 @@
.. default-role:: literal
Mettre en place son environnement de travail Mettre en place son environnement de travail
============================================= =============================================
@ -32,10 +34,121 @@ modules :
.. image:: images/ModuleIndex.png .. image:: images/ModuleIndex.png
configurer son éditeur
----------------------
- les fichiers sources ont l'extenstion `.py`
Les éditeurs pour python
-----------------------------
N'importe quel éditeur qui respecte les coding standards du pep8 convient :
https://www.python.org/dev/peps/pep-0008/
d'une manière générale, de base un éditeur spartiate peut convenir du moment
que l'intentation de 4 espaces est respectée et que les tablulations sont
remplacées par des espaces, car le plus important en python c'est l'indentation,
et le fait de bien voir ou est le règlage de l'encodage (ça doit être en ``utf-8``)
Pour voir si ton éditeur est bien configuré, tu prends n'importe quel fichier python
que tu as créé, puis tu faire un ::
pep8 <mon_fichier.py>
et `pep` va dire ce qui ne va pas en termes de syntaxe.
IDLE
------
https://docs.python.org/2/library/idle.html
Pour information, IDLE est un éditeur intégré (dans la lib standard de python)
mais je te le déconseille (trop spartiate).
nano
--------
pour l'exemple, avec **nano**, voici comment faire une config qui permette
de coder en python. On configure nano avec le ``.nanorc``
Exemple de ``.nanorc`` ::
# replace les tabulations par 4 espaces
set tabsize 4
set tabstospaces
# indente automatiquement
set autoindent
# la touche home renvoie en debut de code
set smarthome
# ne met pas de retour chariot a la fin d'une ligne
# si elle depasse la largeur du terminal
set nowrap
unset softwrap
# chargement de plusieur fichiers
set multibuffer
# coloration syntaxique
## Python
#include "/usr/share/nano/python.nanorc"
Gedit
---------
Gedit c'est très bien pour coder en python, mais de base c'est pas sur un serveur,
il faut pouvoir être en mode graphique.
Il faut règler l'indentation à 4 espaces pour respecter le pep8.
Est règler le replacement des tablulations par des espaces.
Mais surtout, très vite il faut installer les paquets additionnels, notamment
pour que gedit supprime les espaces en fin de ligne par exemple.
Je l'utilise souvent mais il faut des plugins avec
genre ceux-ci (si tu es sur ubuntu)::
apt-get install gedit-plugins
dans ce paquet par exemple, l'outil pour commenter-décommenter le code est intéressant
(sélection d'un paragraphe, puis Ctrl-M)
tu peux régler après la complétion des parenthèses, etc.
il y a aussi le paquet developer plugins :
https://apps.ubuntu.com/cat/applications/gedit-developer-plugins/
Après avec les plugins gedit commence à bien tenir la route.
Vi
----------
Toujours la même problématiques (espaces, tablulation...)
Donc voici une partie de ``.vimrc`` qui le fait::
"Pour le collage"
set pt=<F5>
set vb t_vb="
set shiftwidth=4
set expandtab
set ts=4
set sw=4
syntax on
filetype indent on
filetype plugin on
set autoindent
set hlsearch " Surligne les resultats de recherche
set wrap " Pas de retour a la ligne auto (affichage)
set showmatch " Affiche parenthese correspondante
set softtabstop=4 " Largeur d'une tabulation
"set fdm=indent " Repli selon l'indentation
maintenant après il y a un python-mode assez avancé qui permet de faire pas mal de choses.
(valider avec la syntaxe avec pylint, valider le pep8...)
Mais il faut une config plus avancée.
D'une manière générale, il y a la possibilité de valider avec des outils externes (pylint, pychecker, pep8...) et il y a aussi la possibilité de valider tout ça dans un éditeur.
configurer son éditeur : résumé
-----------------------------------
- les fichiers sources ont l'extension `.py`
- une instruction par ligne - une instruction par ligne
- les blocs sont marqués par l'indentation (utilser 4 espaces), règler - les blocs sont marqués par l'indentation (utilser 4 espaces), règler
l'éditeur pour transformer les tabulations en espaces l'éditeur pour transformer les tabulations en espaces