Mettre en place son environnement de travail

Les éditeurs pour python

N’importe quel éditeur qui respecte les coding standards du pep8 convient :

https://www.python.org/dev/peps/pep-0008/

pep8

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).

un framework de développement intégré : IDLE

IDLE
IDLE est un IDE (environnement de développement intégré) mis à disposition dans la librairie standard de python

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. Et 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
  • les blocs sont marqués par l’indentation (utilser 4 espaces), règler l’éditeur pour transformer les tabulations en espaces

configurer son prompt python

PYTHONPATH

pointe par défaut sur le répertoire courant, il est possible d’ajouter un path

à mettre dans votre .bashrc :

export PYTHONPATH:`pwd`

export PYTHONPATH=$PYTHONPATH:'/usr/share':'/toto/titi/tata'

alias pyenv='export PYTHONPATH=`pwd`:$PYTHONPATH'

export PYTHONSTARTUP='/home/gwen/.pystartup'
PYTHONSTARTUP

les trucs à mettre dans vos pytstartups (comme dans vos .bashrc)

  • autocomplétion
  • affichage de l’historique

exemple de .pystartup

à télécharger ici : snippets/pystartup

# Store the file in ~/.pystartup, and set an environment variable to point to
# it, e.g. "export PYTHONSTARTUP=/max/home/itamar/.pystartup" in bash.
#
# Note that PYTHONSTARTUP does *not* expand "~", so you have to put in the full
# path to your home directory.
import rlcompleter
import readline
readline.parse_and_bind("tab: complete")

import os
histfile = os.path.join(os.environ["HOME"], ".pyhist")
try:
    readline.read_history_file(histfile)
except IOError:
    pass

import atexit
atexit.register(readline.write_history_file, histfile)
del os, histfile

# enhanced completion
#import rlcompleter2
#rlcompleter2.setup()

Consulter la librairie standard

librairie standard
Une des règles de base de python est qu’il existe certainement une manière conseillé de faire une tâche en python. Le premier réflexe est d’aller voir dans la librairie standard

Premier réflexe : la doc en ligne ou bien installée sur votre disque dur.

la page d’accueil de la doc officielle python :

_images/DocPython.png

et surtout, une fois la librairie standard abordée, la page d’index des modules :

_images/ModuleIndex.png