PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV (versões anteriores) → [WINDEV28] Injection python et génération d'executable
[WINDEV28] Injection python et génération d'executable
Iniciado por Mikael, abr., 21 2024 4:40 PM - 5 respostas
Membro registado
3 mensagems
Publicado em abril, 21 2024 - 4:40 PM
Bonjour, je suis un nouvel utilisateur WINDEV28, et sur ce premier post je viens malheureusement chercher un peu d'aide sur certains bugs d'injections python dans du code WINDEV28.

De manière synthétique: j'ai un petit projet qui marche bien, et qui utilise pas mal de fonctions pythons que j'ai codées. Théorie du signal, la plateforme travaille sur certaines fréquences de morceaux de musiques.

Tout allait bien dans le meilleur des mondes jusqu'au moment où j'ai voulu créer un executable du projet pour le faire tourner sur d'autres machines. Mes premiers tests étaient concluant sur du bébé python injecté.
Je précise que l'executable marche bien sur ma machine de développement, toutes les fonctions python fonctionnent en injection windev, ou en Thonny, voir même en compilation fenetre de commande, et même en .exe py installer.
(windows 11 icore 5)
Cet executable est sur une clef (qui contient en gros le .exe projet, la BDD, le fichier .py)

Cet executable crash sur certaines fonctions python sur deux autres machines (windows 10 core i5, windows 11 core i7) qui ont pourtant exactement les mêmes versions de python 3.11.9, ainsi que les mêmes versions des bibliothèques numpy, matplotlib, sounddevice, librosa

Là où ca devient délirant, c'est que ces fonctions séparément fonctionnent sur ces deux autres machines, c'est juste quand je les injecte en windev qu'elles ne marchent pas. Hors en injection elles marchent sur la machine initiale !

Je ne vois pas ce qui peut déconner. J'ai pensé à beaucoup de choses, mais en vain, je n'ai rien eu de concluant... Quelques petites questions au passage, car je ne trouve pas de réponse dans la doc:

1°) dans le menu
projet
description
description de la configuration courante
composants
bibliothèques externes python

on place ici le chemin des biblio python, par défaut c'est un chemin user:
C:\Users\[USER]\AppData\Roaming\Python\Python311\site-packages

Lors du passage du projet en .exe, comment l'exe fait pour aller retrouver ses petits dans la nouvelle machine ? C'est par le PythonInitialise("C:\Program Files\Python311\python311.dll")
qu'il va retrouver ses bibliothèques ?
Après mes nombreux tests, l'exe a absolument besoin du fichier python de base, du compilateur sur la machine cliente, mais je ne vois pas comment il retrouve ce chemin des biblio externes.

Après... Il doit bien le trouver car j'ai une partie de mes fonctions qui marchent sur les nouvelles machines...

2°) dans la doc, j'ai lu qu'il ne faut pas passez en paramètres des fonctions python des tableaux windev. Je me suis permis de le faire avec des tableaux d'entiers. Je rappelle que mon projet marche sur ma machine de développement. Est ce possible que le souci viennent de là ? Ca serait surprenant tout de même...

3°) J'ai une erreur de compilation dans mon projet, une seule. Je n'ai jamais compris d'où elle venait:
Erreur :MesFonctionsPythonV7 : une erreur fatale s'est produite lors de l'appel à une fonction interne Python : SystemError('D:\a\1\s\Objects\structseq.c:476: bad argument to internal function')
Holopsone, , ligne 1, colonne 1

A savoir que mon projet marche en dev, hein ? Ce peut il que celà viennent de là ?
Que me conseillez vous pour attaquer cette erreur de compilation ? (j'ai déjà commencé à chercher, en vain, avec des résultats surprenants et aléatoires...)
Le windev n'est il pas en train de m'engueuler à cause de mes tableaux d'entiers en paramètres ? Vous avez de l'XP là dessus ?

Il faut que je vous signale une chose, après l'affichage de cette erreur de compilation, si je redemande à la PtF de compiler une deuxième fois ce projet, la plateforme chash immédiatement !

Voilà, j'ai essayez d'être le plus synthétique possible, n'hésitez pas à me demander des précisions sur tels ou tels sujets. Avant de rentrer dans du détail plus lourd, mon objectif premier est de savoir si je n'ai pas loupé une évidence fondamentale, un panneau à un mètre de mon nez, un truc absolu. Je ne pense pas mais sait-on jamais...

Et puis je serai curieux de connaitre votre XP sur le sujet.
++
Membro registado
550 mensagems
Publicado em abril, 22 2024 - 3:56 PM
Bonjour,
Afin de vous apportez quelques pistes, je voulais vous communiquer ce lien :

https://www.xwdb.fr/index.php/windev/52-windev-python


Mais la page ne semble plus disponible.
Je pourrai éventuellement vous transmettre la sauvegarde de la page mais il faudrait savoir à quel moment la déposer car le lien ne sera disponible qu'1 heure.
Cdlt
Membro registado
3 mensagems
Publicado em abril, 24 2024 - 11:41 AM
Bonjour, désolé de ne pas avoir vu votre message plus tôt. Dispo à 15h00 aujourd'hui si vous êtes là.

J'ai commencé à regarder cette histoire d'erreur de compilation, et sur un fichier de 4 lignes python ci-joint j'ai toujours l'erreur:
import librosa as lr
import soundfile as sf
import numpy as np
import matplotlib.pyplot as plt

Pas d'erreur de compilation si je n'ai pas de fichier python en Descriptions externes
Une erreur si je mets de deux à trois bibliothèques au dessus, de manière aléatoire !?!
Et attention, deux compilations consécutives en erreur me font crasher la plateforme... Un enfer.

Cette erreur de compilation ne m'a jamais vraiment génée sur ma plateforme de dev, mais n'est-elle pas lié aux soucis de migration que j'ai plus haut ?
Membro registado
550 mensagems
Publicado em abril, 24 2024 - 12:48 PM
Ok, je vous vous donnerai un lien à 15h.
Vous avez une utilisation de Python plus poussée que la mienne, je ne pourrai pas vous aider mais le document vous apportera peut-être des informations.
Membro registado
550 mensagems
Publicado em abril, 24 2024 - 3:02 PM
Fichier "Windev & Python.zip" déposé sur ce lien :
https://www.developpez.net/forums/d2157542/environnements-developpement/windev/windev-python/…

Confirmez la réception ici, merci
Cdlt
Mensagem modificada, abril, 24 2024 - 3:04 PM
Membro registado
3 mensagems
Publicado em abril, 24 2024 - 3:18 PM
Bien pris, je les ai reçus. Je les lis de ce pas et regarde si quelque chose m'a échappé. Merci pour le coup de main.