Bonjour à tous !
Je me suis remis au python depuis quelques jours, et en ai même profité pour essayer PyScripter.
Ce petit logiciel est très bien (à part une tendance à se fermer sans crier gare... On vous l'avait bien dit en cours de sauvegarder vos programmes régulièrement ! ), mais il y a quand même un bug qui m'agace beaucoup :
Quand j'ai un projet comportant plusieurs modules et modifie le module principal, tout va bien : il me le sauvegarde avant de l'exécuter, et les changements sont perceptibles.
Quand je modifie un autre module, il le sauvegarde aussi avant de tout exécuter (j'ai vérifié au notepad), le problème c'est que tout se passe comme si il n'avait rien sauvegardé. Je m'en suis rendu compte en tapant des bêtises dans le code d'un des modules et constatant que ça ne changeait strictement RIEN.
J'ai essayé de virer les .pyc et les .~py, ça ne sert à rien. Par contre, après un redémarrage du programme, les changements sont appliqués...
Je pense que le problème vient du fait que PyScripter ne redémarre pas l'interpréteur python entre deux exécutions d'un programme. Si la "mémoire" des modules déjà chargés demeure, il est en effet logique d'obtenir un tel comportement. En faveur de cette hypothèse, le fait que quand on utilise external run, le bug ne se produise pas.
Quelqu'un peut m'expliquer comment faire "oublier" à python les unités qu'il a déjà chargées ? Un équivalent du "restart" de maple ?
Partager