Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1870 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  comment gérer correctement les rechargements des imports

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment gérer correctement les rechargements des imports

n°2313544
Marco Paul​o
Posté le 04-04-2018 à 20:33:29  profilanswer
 

Bonjour
 
Je débute en Python (mais j'ai quelques décennies d'autres langages), j'ai surtout lu et testé de ci de là pour l'instant.
Je coince un peu sur un la gestion des ré-imports quand un fichier importé a été modifiés.
Si j'ai loupé quelque chose, merci de me corriger :-)
Si on reste dans une console python, qu'on lance un .py qui a des imports puis qu'on modifie un des imports, il faut utiliser
 
importlib.reload(monImport) ...
 
Mais quand on a un gros projet et qu'on fait des modifications sur un grand nombre de fichier, c'est très relou à gérer.
A moins d'avoir dans tout les fichiers du code pour les ré-import, ce qui est lourd aussi. Mais en parcourant des gros projet, je ne trouve pas de code de ré_import.
 
C'est quoi la bonne méthode pour gérer ça ?
 
A part sortir de la console et en relancer une, car dans mon cas, j'utilise une console python intégré à Blender. C'est un peu relou de devoir sortir de blender et relancer pour tester la moindre modification.
 
Pour l'instant, je suis sur du micro projet de test avec peu de fichiers, donc ça passe encore.  
Mais le jour ou j'attaque un projet un peu volumineux, je vais pas tenir  :D

mood
Publicité
Posté le 04-04-2018 à 20:33:29  profilanswer
 

n°2314404
fred1599
Posté le 24-04-2018 à 12:07:51  profilanswer
 

Bonjour,
 
La bonne méthode c'est de n'avoir jamais à faire cela...
 
Les modules python ne doivent pas être modifiables dynamiquement, je ne comprend pas trop en quoi cela sort dans ton cas, de l'exceptionnel... Mais en 20 ans de python, je n'ai jamais eu à faire cela.
 

Citation :

A part sortir de la console et en relancer une, car dans mon cas, j'utilise une console python intégré à Blender. C'est un peu relou de devoir sortir de blender et relancer pour tester la moindre modification.


 
C'est la seule et bonne solution, car en quittant la console, tu tues le processus, et ça permet de ne pas avoir de soucis... Alors je connais pas Blender, mais peut-être y a-t-il un moyen de supprimer la console en restant sur Blender, ça serait plutôt de ce côté qu'il faudrait chercher.
 

n°2318369
Marco Paul​o
Posté le 28-07-2018 à 10:40:50  profilanswer
 

fred1599 a écrit :

Bonjour,

 

La bonne méthode c'est de n'avoir jamais à faire cela...

 

Les modules python ne doivent pas être modifiables dynamiquement, je ne comprend pas trop en quoi cela sort dans ton cas, de l'exceptionnel... Mais en 20 ans de python, je n'ai jamais eu à faire cela.

 
Citation :

A part sortir de la console et en relancer une, car dans mon cas, j'utilise une console python intégré à Blender. C'est un peu relou de devoir sortir de blender et relancer pour tester la moindre modification.

 

C'est la seule et bonne solution, car en quittant la console, tu tues le processus, et ça permet de ne pas avoir de soucis... Alors je connais pas Blender, mais peut-être y a-t-il un moyen de supprimer la console en restant sur Blender, ça serait plutôt de ce côté qu'il faudrait chercher.

 


 

Ourch, je n'avais pas vu la réponse. Désolé et merci  :jap:

 

J'ai cherché dans les forums blender et lu beaucoup de scripts/add_on blender et c'est comme ça qu'ils font.
Et on ne peut pas supprimer la console, c'est dans celle-ci que tourne blender.

 

Pour la mise au point de petits détails, changer un constante un peu au pif, ajuster un calcul trigo que je fais un peu à l'approximation, entre 3 seconde et deux click pour tester (pas de relance blender et réimport) et 30 secondes, 25 clicks ( arret relance blender, rechargement du script dans l'éditeur interne, repasser la console en mode visible depuis les menus blender, sinon elle n'est pas visible à l'écran, relance du script), quand on fait ce test plusieurs dizaines de fois, on oublie un peu les bonnes manières pour espérer un jour arriver au résultat :D.

 

Blender, c'est bien, mais il y a pas mal de petits trucs de ci de là qui font mal. Et je pense qu'ils ont pas mal bidouillé pour implémenter le lancement des addons dynamique.

 


Dans un contexte pro sur des gros projet à des miyons de roro, je dirais comme toi que ce n'est pas la bonne méthode si on veut continuer à vivre de l'info :D
Mais la le contexte est nettement plus proche de la construction d'un petit poulailler dans le jardin que de l'édification d'un gratte ciel :D
Si je devais appliquer les normes de sécu, calcul de resistance des materiaux et méthodologie pro, les poules auront plus vite fait de le faire elles même.

 

Ceci dit, si les concepteurs du langage python ont prévu un ordre "reimport", j'imagine que ce n'était pas seulement par désœuvrement un soir de biture  [:canaille]

 

import importlib
...
...
from outils import libgeo
importlib.reload(libgeo)
...

 

et il y en a des pelletés dans les addon ou même dans le code python de blender.


Message édité par Marco Paulo le 28-07-2018 à 10:51:56

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  comment gérer correctement les rechargements des imports

 

Sujets relatifs
[RESOLU]Visualstudio 2017 Le débogueur n'est pas correctement installé[Joomla]Recherche de Composant pour gérer une "bibliothèque"
Gérer l'usb dans mon OS 100% assembleurrecherche de code pour, par clic sur bouton, poser correctement l'a
Eclipse léger problème dans le tri des importsGerer le random avec plusieurs valeurs (Urgent)
gérer une compétition de footballVBA - CDO Message => Gérer une erreur
floatval ne répond pas correctementmixer java avec javascript pour gerer les evenement sur un iframe
Plus de sujets relatifs à : comment gérer correctement les rechargements des imports


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR