diff --git a/python/formation/settings.txt b/python/formation/settings.txt index 15b3c8a..1107bb8 100644 --- a/python/formation/settings.txt +++ b/python/formation/settings.txt @@ -1,3 +1,5 @@ +.. default-role:: literal + Mettre en place son environnement de travail ============================================= @@ -32,10 +34,121 @@ modules : .. 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 + +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= + 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 - les blocs sont marqués par l'indentation (utilser 4 espaces), règler l'éditeur pour transformer les tabulations en espaces