IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

'Fatal error detected Failed to execute script'


Sujet :

Déploiement/Installation Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Juin 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2018
    Messages : 36
    Points : 15
    Points
    15
    Par défaut 'Fatal error detected Failed to execute script'
    Bonjour à tous,

    je coince vraiment sur une erreur qui apparemment est assez récurrente:

    quand je lance pyinstaller -w -F -y monfichier.py j'ai une erreur 'Fatal error detected Failed to execute script'
    je pense que pyinstall ne trouve pas mes fichiers .icon et .gif dans le path alors qu'ils sont dans le même répertoire.
    la variable d'environnement est installer.

    quand je lance pyinstaller --onefile monfichier.py le fichier s'ouvre et se ferme immédiatement.
    mais quand je lance pyinstaller --noconsole monfichier.py cela me donne cette erreur.
    par contre si j'enléve l'icon et l'image cela fonctionne.

    si je le lance avec Pycharm tout fonctionne bien pourtant.

    J’ai regardé sur le net d'innombrables solutions mais en vain.


    j'ai essayé avec auto-py-to-exe monfichier.py en lui donnant l'icon et l'image mais j'ai toujours cette erreur, ou alors je ne sais pas bien configurer auto-py-to-exe.

    auriez-vous une solution à ce problème?

    je suis sur Win 10 x64.

    Structure du programme: ce n'est qu'une ébauche!!!

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Pour mettre du code dans le forum: utiliser les tag de code "" en cliquant sur '#' en haut de la fenêtre d'édition.

    Le code présenté est incomplet et ne s'exécute pas en version ".py", même en ajoutant une icône et une image gif. On ne peut espérer créer un exe sans ça.

    Donnez un code exécutable, et on pourra essayer pyinstaller pour vous aider.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    "freezer" le programme, c'est fabriquer une nouvelle arborescence dans laquelle les scripts python pourront être facilement retrouvés mais pour les autres fichiers il y a 2 taches à accomplir.

    La première est de les inclure dans l'arborescence fabriquée par le "freezer" (il y a des instructions pour dire inclus es fichiers de données).
    La seconde est que les "open" trouvent les fichiers (ce qui demande de changer un peu le code pour çà).

    Tous les "freezer" (pyinstaller, cx_freeze,...) documentent comment inclure des fichiers de données dans "l'exécutable" et que faire pour y accéder... Et vous avez des tas d'articles d'exemples sur Internet, car vous n'êtes pas le premier a vous faire piéger.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Juin 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2018
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par tyrtamos Voir le message
    Bonjour,

    Pour mettre du code dans le forum: utiliser les tag de code "" en cliquant sur '#' en haut de la fenêtre d'édition.

    Le code présenté est incomplet et ne s'exécute pas en version ".py", même en ajoutant une icône et une image gif. On ne peut espérer créer un exe sans ça.

    Donnez un code exécutable, et on pourra essayer pyinstaller pour vous aider.

    Voilà c'est fait...

  5. #5
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Juin 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2018
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    "freezer" le programme, c'est fabriquer une nouvelle arborescence dans laquelle les scripts python pourront être facilement retrouvés mais pour les autres fichiers il y a 2 taches à accomplir.

    La première est de les inclure dans l'arborescence fabriquée par le "freezer" (il y a des instructions pour dire inclus es fichiers de données).
    La seconde est que les "open" trouvent les fichiers (ce qui demande de changer un peu le code pour çà).

    Tous les "freezer" (pyinstaller, cx_freeze,...) documentent comment inclure des fichiers de données dans "l'exécutable" et que faire pour y accéder... Et vous avez des tas d'articles d'exemples sur Internet, car vous n'êtes pas le premier a vous faire piéger.

    - W
    Ok merci pour l'info wiztricks, je vais creuser plus tard.

  6. #6
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Juin 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2018
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par tyrtamos Voir le message
    Bonjour,

    Pour mettre du code dans le forum: utiliser les tag de code "" en cliquant sur '#' en haut de la fenêtre d'édition.

    Le code présenté est incomplet et ne s'exécute pas en version ".py", même en ajoutant une icône et une image gif. On ne peut espérer créer un exe sans ça.

    Donnez un code exécutable, et on pourra essayer pyinstaller pour vous aider.
    tyrtamos tu a pu jeter un œil à mon code?

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Essaie en retirant la ligne "fenetre.iconbitmap(...)", et ajoute l'option d'intégration de l'icône à la ligne pyinstaller:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pyinstaller --onefile --icon ".\f_x.ico"  monfichier.py
    NB: sans rapport avec l'erreur, il y a des corrections à faire dans ton programme qui devrait être mieux organisé:

    - les variables valeur_a, valeur_b et valeur_c déclarées comme "global" n'existent pas.
    - les valeurs a, b et c doivent avoir une valeur: float() => float(0)
    - les importations "attrape-tout" comme "from math import *" sont abominables et peuvent conduire à des erreurs difficiles à détecter. Par exemple, le "pow" de math remplace le pow de base de Python (built-in) alors qu'il y a des différences entre les 2.
    - je trouve que mélanger les instructions immédiatement exécutées avec les fonctions n'est pas bon. Remettre ces instructions sous la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if __name__ == "__main__":
    Comme je ne travaille plus avec tkinter depuis très longtemps, je ne pourrais pas t'aider pour le code tkinter.

    [edit] J'ai oublié une modif à faire pour que le programme exe trouve l'image gif.
    - mettre en global:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        # Répertoire d'exécution avec ou sans pyinstaller (onedir ou onefile)
        if getattr(sys, 'frozen', False):
            REPEXE = sys._MEIPASS # programme traité par pyinstaller
        else:
            REPEXE = os.path.dirname(os.path.abspath(__file__)) # prog. normal
    Et calculer le chemin de l'image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.path.join(REPEXE, 'image.gif')
    Comme ça, les 2 versions .py et .exe trouveront l'image à charger.

    NB: c'est dans la doc de pyinstaller: https://pyinstaller.readthedocs.io/e...formation.html
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  8. #8
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Juin 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2018
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    Bonjour tyrtamos],

    Merci d'avoir pris le temps et de m'aider pour toutes ces précisions,
    Comme je le disiez, c'est une ébauche et je pense revenir bientôt ,

    Du coup hier j'ai creusé et trouvé la solution à mon problème,
    je ne comprends pas pourquoi c'est si difficile de rendre un script en exe, d'autre compilateur le fond très bien, bref c'est comme ca les joies de la programmation.

    Pour ma part c'est encore plus simple:

    J’ai ajouté l'arborescence aux deux fichiers et c'est tout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fenetre.iconbitmap("[I]C:/Users/papa/desktop/equation[/I]/f_x.ico")
    
    image_equation = PhotoImage(file="C:/Users/papa/desktop/equation/equation.gif")

    et c'est bon, je peux maintenant taper pyinstaller --onefile --noconsole monScript.py j'ai en retour un seul fichier .exe qui fonctionne.

    Dans le fichier .spec pas trop de changement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a = Analysis(['monScrip.py'],
                 pathex=['C:\\Users\\papa\\Desktop\\equation'],
                 binaries=[],
                 datas=[],
    Encore merci et bonne continuation...

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    je ne comprends pas pourquoi c'est si difficile de rendre un script en exe, d'autre compilateur le fond très bien, bref c'est comme ca les joies de la programmation.
    Ca ne compile rien, çà fabrique un packaging qui permettra d'installer et faire fonctionner l'application sur un autre système sans avoir à explicitement installer Python et les différentes bibliothèques.

    Citation Envoyé par mimas2010 Voir le message
    Du coup hier j'ai creusé et trouvé la solution à mon problème,
    Si vous ne déployez pas votre application sur un autre poste de travail, vous n'avez rien testé (et normalement vous devriez avoir des surprises).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Juin 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2018
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Ca ne compile rien, çà fabrique un packaging qui permettra d'installer et faire fonctionner l'application sur un autre système sans avoir à explicitement installer Python et les différentes bibliothèques.



    Si vous ne déployez pas votre application sur un autre poste de travail, vous n'avez rien testé (et normalement vous devriez avoir des surprises).

    - W
    Bonjour wiztricks, je confirme cela ne fonctionne pas sur un autre PC
    une solution simple?

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par mimas2010 Voir le message
    Bonjour wiztricks, je confirme cela ne fonctionne pas sur un autre PC
    une solution simple?
    Tyrtamos s'est prit le chou à détailler ce que vous auriez du/pu trouver par vous même dans la documentation...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fatal error: require_once(): Failed opening required '__DIR__\bootstrap.php'
    Par MInfo25 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/01/2018, 17h48
  2. [PEAR] Fatal error: require_once(): Failed opening required 'HTML/Table/Storage.php'
    Par arakscons dans le forum Bibliothèques et frameworks
    Réponses: 14
    Dernier message: 16/09/2014, 10h36
  3. Fatal: Error detected (ILI4275)
    Par nazgul66 dans le forum C++
    Réponses: 2
    Dernier message: 31/08/2010, 14h12
  4. Réponses: 0
    Dernier message: 05/08/2009, 09h47
  5. Réponses: 4
    Dernier message: 21/07/2006, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo