editeurs python
This commit is contained in:
parent
30f646581b
commit
a3552c18c0
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue