Bonjour,
Soit un logiciel open source en Python avec son:".exe".
Si je modifie des trucs dans le code, est-ce que l'exe va prendre en compte les modifications ?
Ou va t-il falloir recompiler (interpréter) le tout ?
Merci pour la lumière.
-----
Bonjour,
Soit un logiciel open source en Python avec son:".exe".
Si je modifie des trucs dans le code, est-ce que l'exe va prendre en compte les modifications ?
Ou va t-il falloir recompiler (interpréter) le tout ?
Merci pour la lumière.
bonjour
il faudra recompiler!
JR
l'électronique c'est pas du vaudou!
Merci jiherve, mince, c'est pas avantageux.
à voir ce qu'est ce exe (générer avec quel outil?) et quel fichier tu modifies; il doit y avoir des infos sur la page de l'open source
Le soft, c'est: "Blender", alors si il faut recompiler, bonjour l'angoisse.
Dans le soft, il y a une option d'accès au code, mais ne sais pas sous quelle forme.
Dernière modification par Henrix ; 23/06/2023 à 18h07.
Blende est ecrit en C, mais les add-on sont en python.
https://github.com/blender
Modifier le cœur, bonjour le taf...
Modifier ou créer un add-on, sans dire que c'est les doigts dans le nez, c'est quand même plus abordable.
Ensuite, vu qu'il est question de ".exe", la question se pose sous windows, dont je ne sais pas trop comment tout ça se fait... (vivement le jour ou microsoft passe à du unix)
Jusqu'ici tout va bien...
La modif n'est pas très complexe, il s'agirait de modifier la taille de l'interface.
Le blème c'est s'il faut recompiler.
Fait un essai : fait une modif mineure sur le source Python, et regarde si, quand tu executes l'addon, le .exe voit sa date modifiée, auquel cas Blender aurait recompilé l'addon.
Sinon, ben non.
Si l'OS où tu es n'a pas de notion de date de modification, supprime l'exe (renomme-le avec une autre extension) et regarde si il est regénéré dès la première utilisation de l'addon.
Quoi? Quelque chose que je ne connais pas et qui me fait l'affront d'exister?!
Pourquoi il recompilerait du Python qui est un langage interprété ? (sauf cas très particuliers).
Comme expliqué par polo974, Blender n'est pas écrit en Python mais en C.
Ce qu'il fait, c'est qu'il intègre un interpréteur Python qui lui va charger des scripts/add-ons à la volée et les exécuter en leur fournissant l'API permettant d'interagir avec Blender.
Oui.
Recompiler et interpréter sont 2 choses très différentes.
Ce qu'il faut éventuellement faire, c'est relancer Blender pour prendre en compte les changements dans les scripts.
Pour: "PM42":
Compilé ou interprété, le résultat est le même: Transformer un langage "vernaculaire" en langage "machine".
Pour: "CM63": Bonne idée, ça se tente.
Le problème spécifique est résolu, car j'ai trouvé "winsize2" (gratuit) qui fait le job merveilleusement bien.
Note:Je ne sais pas mettre en: "Résolu".
C'est intéressant de poser des questions puis d'expliquer la vie à ceux qui répondent pour dire des énormités.
Le code interprété n'est jamais transformé en "langage machine" justement. Et même pour le code compilé, c'est plus compliqué que ça et depuis longtemps via les machines virtuelles.
Si tu comprenais la différence, tu n'aurais pas posé ta question sur la nécessité de reconstruire un .exe.
Dernière modification par pm42 ; 25/06/2023 à 12h18.
bonjour
au final c'est bien du code machine qui est exécuté sinon je ne vois pas comment cela fonctionnerait!
réponse de hardeux pur et dur.
JR
l'électronique c'est pas du vaudou!
C'est ça la magie de l'interprétation !
Tu peux le voir comme des commandes de pilotage... pas de langage machine, c'est le système piloté qui est plus ou moins en langage machine...
À noter que la plupart des langages interprétés sont compilables, ce qui les rend, en général, bien plus rapide en exécution, au détriment de la possibilité de modifier le code à la volée !
J'ai glissé Chef !
Oui mais à des degrés divers et les langages non typés, massivement dynamiques comme Javascript et Python rendent la compilation difficile.
Par exemple, en Python, une classe est en fait un dictionnaire de clés/valeurs ce qui veut dire qu'on peut ajouter ou supprimer des attributs à la volée.
Quand on compile en respectant ça, on ne gagne pas tant en perfs.
Dans ces cas là, on se limite à compiler un sous-ensemble du langage ou juste certaines fonctions implémentées en respectant des règles plus strictes.
Bonsoir
il est forcement à un moment en langage machine, en clair en binaire, le ZX81 était déjà une machine avec interpréteur BASIC, nothing new under the sun!c'est le système piloté qui est plus ou moins en langage machine...
JR
l'électronique c'est pas du vaudou!
Pour revenir au sujet, si les modifications sont dans les plugins, python, rien besoin de recompiler. Mais bizarre qu'il n'y ai pas de moyen de modifier l'interface via ses menus (ou alors via un fichier de configuration)
(on trouve bien ce menu pour modifier l'interface sans bidouille de code https://docs.blender.org/manual/fr/d...interface.html )
@: umfred: J'ai trouvé, ou plutôt on m'a indiqué où se trouve la mémorisation des param's 'interface.
Je ne l'aurais jamais trouvé seul, Blender est aussi touffu que bordélique, un cochon n'y retrouverait pas un gland (avis personnel).
Je suis parfaitement d'accord (ZX81 Win !). A la fin, on a toujours du langage machine.
C'est juste qu'en interprété, on ne peut pas optimiser aussi efficacement, et en plus la plupart du temps (mais pas toujours), on doit réinterpréter le même code dans dans des fonctions autant de fois qu'on l'appelle, ce qui prend du temps.