|
|
Python, c'est rapide et facile à écrire... Oui. Certes. MAIS : ce qui est valable pour une **version** ne l'est pas forcément pour une autre. Et ça, c'est pénible. **Vraiment pénible**
|
|
|
|
|
|
Contributeurs : C. Poulard, S. Coulibaly (Eq. Hydraulique)
|
|
|
De petits bouts de code **matplotlib** qui "marchent" pour l'environnement du développeur, ne marcheront pas forcément sur le PC d'un collègue :
|
|
|
- parce qu'il a **une autre version** que la vôtre, ça c'est classique : utilisez un environnement virtuel et passez-lui la liste des modules avec leurs numéros de version...
|
|
|
- des problèmes de compatibilité **entre modules** : un code mpl "qui marche" perd des fonctions quand il est intégré dans un canevas PyQT...
|
|
|
- des spécificités Python / iPython : JupyterLab ou Spider travaillent avec IPython...
|
|
|
|
|
|
Cette page vous montre de petits bouts de code **matplotlib** qui "marchent" pour l'environnement du développeur, et qui ne marchent pas ou mal sur le PC d'un collègue, ou même une fois intégrés à un autre code qui fonctionne dans un autre environnement virtuel\*.
|
|
|
|
|
|
Evidemment, et malheureusement, on trouverait d'autres illustrations avec d'autres modules. C'est très agaçant, et peut être assez piégeux à débuguer.
|
|
|
|
|
|
## La doc de matplotlib et les versions
|
|
|
|
|
|
:smiley: Ce qui est bien, c'est qu'il existe une version complète de la doc par version (les informations ne sont pas "écrasées" quand une autre version sort). Le numéro de version apparaît en haut, et si ce n'est pas la dernière version un avertissement vous le signale et vous propose un lien vers la dernière version stable.
|
|
|
:smiley: Un très bon point : il existe **une doc complète mpl par version** ; les informations ne sont donc pas "écrasées" quand une autre version sort. Le numéro de version apparaît en haut, et si ce n'est pas la dernière version un bandeau d'avertissement apparaît et vous propose un lien vers la dernière version stable.
|
|
|
|
|
|
![CaptureInfosMPL](uploads/2595fdf88fd4e0324e5c50d865591817/CaptureInfosMPL.JPG)
|
|
|
|
|
|
:angry: : Ce qui est moins bien, c'est qu'on ne vous signale pas pour quelle(s) version(s) l'instruction est valable.
|
|
|
|
|
|
Vous devriez donc préciser en distribuant votre code quelle version vous avez utilisée. Si vous êtes courageux, il vous faut tester votre code pour plusieurs versions afin d'élargir un peu la fourchette.
|
|
|
|
|
|
Dans ce wiki, la plupart des scripts ont été écrits en 2020 et 2021, donc avec la version :three:.:four: ; il y a donc un travail de vérification à mener...
|
|
|
|
|
|
Quelques peaux de bananes :
|
|
|
`fig.canvas.set_window_title` doit maintenant être remplacé par `fig.canvas.manager.set_window_title`
|
|
|
le mot clef `ncol`de legend a été remplacé par `ncols`... |
|
|
\ No newline at end of file |