[python] Exécution du code modifié dans l'éditeur externe

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[python] Exécution du code modifié dans l'éditeur externe

Messagepar mike63110 » 21 Mai 2019 08:57


La modération a écrit:Pour la bonne tenue de ce forum, veillez à respecter la syntaxe des balises (première lettre en majuscule puis le reste en minuscules, le tout entre crochets). Merci de corriger cette balise dans votre titre

Bonjour
J'utilise APSO 1.1.4 pour accéder à l'éditeur de code Geany.
Le code python inclus dans les fichiers LibO est copié dans un dossier temporaire avant édition. Quand j'ai modifié mon code et que je souhaite l'exécuter pour valider mes modifications, les modifications ne sont pas effectives. Je dois fermer le fichier LibO concerné après l'avoir enregistré puis le ré-ouvrir pour enfin exécuter le code modifié.
Je cherche le moyen de mettre à jour le code python qui est semble-t-il dans un tampon mémoire de LibO avec le code modifié dans mon éditeur. Y a-t-il une astuce ?
Je précise que le problème est identique pour un module python extérieur au fichier LibO. Il faut alors fermer complètement LibO (tous les fichiers ouverts) pour voir les modifications prises en compte.
Merci d'avance...
LibreOffice 5.4.6.2, Windows 7 Professionnel Service Pack 1 (Version 2.2) - Linux Mint Tara
mike63110
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 11
Inscrit le : 09 Déc 2014 16:03

Re: [python] Exécution du code modifié dans l'éditeur extern

Messagepar Dredd » 21 Mai 2019 10:59

Salut,

Aucune précision quant à l'OS utilisé, as-tu déjà fait une mise à jour de ta version obsolète ?
Propulsé par OpenOffice 4.1.6 sous Windows 10 x64
Avatar de l’utilisateur
Dredd
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 323
Inscrit le : 24 Mai 2006 10:15
Localisation : Mega-City One

Re: [python] Exécution du code modifié dans l'éditeur extern

Messagepar Hubert Lambert » 21 Mai 2019 11:26

Bonjour,

D'abord je te conseille de faire la mise à jour de l'extension, qui en est à la version 1.2.3 :wink: .

Concernant les scripts embarqués dans un document
Il y a une limitation qui fait que le programme ne reconnaît pas la mise à jour d'un script embarqué lorsque celui-ci est appelé par un élément de l'interface utilisateur (bouton, contrôles de formulaire, événement...). En revanche, le même script modifié exécuté à partir d'APSO s'exécutera correctement. J'ai signalé le problème en proposant une solution (https://bugs.documentfoundation.org/sho ... ?id=105609), mais ça ne bouge pas énormément jusqu'ici.

Concernant les bibliothèques externes
Ces bibliothèques sont en effet mises en cache par l'interpréteur python. Pour contourner le problème, il suffit de forcer le rechargement depuis le fichier qui l'utilise (le temps du développement) :
Code : Tout sélectionner   AgrandirRéduire
import ma_bibli_externe
try:
    from imp import reload
except ImportError:
    pass
reload(ma_bibli_externe)

Le fichier qui contient l'instruction "reload" doit lui-même avoir été modifié pour que le rechargement soit effectif.

Cordialement.
AOOo 4.1.2 sur Win7
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
 
Message(s) : 1108
Inscrit le : 06 Avr 2016 08:26


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 5 invité(s)