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

Python Discussion :

executable .exe en python ne se lance pas


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2021
    Messages : 5
    Par défaut executable .exe en python ne se lance pas
    Bonjour, j'aurais une petite question enfaite je veux faire mon fichier en executable avec pyinstaller mais il y au un problème avec mon programme car quand je lance le .exe, une console s'affiche et se ferme instantanément. Alors que sur mes autres projets tout marche parfaitement. Quelqu'un a déjà eu un problème comme le mien? Il me semble qu'il n'y a pas d'erreur sur mon programme en python. Merci d'avance si quelqu'un a une solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    from phyllotaxie import *
    from tournesol import *
    from marguerite import *
    import tkinter
     
    app = tkinter.Tk() 
     
    menu = tkinter.LabelFrame(app, text="Legende", borderwidth = 2)
    graph = tkinter.Frame(app ,borderwidth = 2)
    graph.pack(side =tkinter.RIGHT, padx = 0, pady = 0, expand = 1)
    app.title("Simulation phyllotaxie")
    app.geometry("1024x768")
     
    Phyl = phyllotaxie(graph, W=600, H = 600)
     
    def lancement():
            Phyl.clear()
            Phyl.do(choice_angle.get(),lb.selection_get(),choice_distance.get(), choice_epaisseur.get())
     
    choice_angle = tkinter.DoubleVar()
    choice_couleur = tkinter.IntVar()
    choice_distance = tkinter.IntVar()
    choice_epaisseur = tkinter.IntVar()
     
     
    label_angle45 = tkinter.Checkbutton(menu, text = "angle 45", variable = choice_angle, onvalue = 45.0, offvalue = 0)
    label_angle90 = tkinter.Checkbutton(menu, text = "angle 90", variable = choice_angle, onvalue = 90.0, offvalue = 0)
    label_angle137 = tkinter.Checkbutton(menu, text = "angle 137.5", variable = choice_angle, onvalue = 137.5, offvalue = 0)
    label_angle180 = tkinter.Checkbutton(menu, text = "angle 180", variable = choice_angle, onvalue = 180.0, offvalue = 0)
     
    lb = tkinter.Listbox(menu)
    lb.insert(1, "black")
    lb.insert(2, "orange")
    lb.insert(3, "blue")
    lb.insert(4, "violet")
    lb.insert(5, "grey")
     
    label_distance = tkinter.Scale(menu, orient = 'horizontal', label = 'Distance entre les points', length=150, from_=0, to=10, variable = choice_distance)
    label_epaisseur = tkinter.Scale(menu, orient = 'horizontal', label = 'Épaisseur des points', from_=0, to=10, length=150, variable = choice_epaisseur)
     
     
    start_btn = tkinter.PhotoImage(file='images/start.png')
    btn_lancement = tkinter.Button(menu, image=start_btn, command = lancement)
     
    stop_btn = tkinter.PhotoImage(file='images/start.png')
    btn_pause = tkinter.Button(menu, text = "pause", command = Phyl.pause)
     
    label_angle45.pack()
    label_angle90.pack()
    label_angle137.pack()
    label_angle180.pack()
     
    lb.pack(ipadx=0,ipady=0,expand = 1)
     
    label_distance.pack()
    label_epaisseur.pack()
     
    btn_lancement.pack(padx=0,pady=0,expand = 1)
    btn_pause.pack(expand = 1)
     
     
    menu.pack(side=tkinter.LEFT, ipadx = 25, ipady = 25, expand = 1)
     
    app.mainloop()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    from math import *
    import turtle
    import tkinter
     
    class phyllotaxie:
        def __init__(self, frame, W, H):
     
            self.canvas = tkinter.Canvas(master=frame, width = W, height = H)
            self.canvas.pack()
            self.turtleFrame = turtle.RawTurtle(self.canvas)
     
            self.launched = False
     
     
        def pause(self):
            self.launched = False
     
        def clear(self):
            self.launched = False
            self.turtleFrame.goto(0,0)
            self.turtleFrame.clear()
     
        def do(self,angle,couleur='black', c=5,e=5):        
            n=0
            self.launched = True
     
     
            while n<1000 and self.launched:
     
                self.turtleFrame.speed("fastest") 
     
                a = n * angle * (pi / 180) 
                r = c * sqrt(n)
     
                x = r*cos(a)
                y = r*sin(a) 
     
                self.turtleFrame.dot(e,couleur)    #dot --> dessine un point
                self.turtleFrame.up()              #lève le stylo (sans trace)
                self.turtleFrame.setposition(x,y)  #définit la position en x,y
                self.turtleFrame.down()            #baisse le stylo (avec trace)
                n+=1

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    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 743
    Par défaut
    Salut,

    On peut supposer que vous avez testé votre code avant de le packager avec PyInstaller et que c'est cette transformation de votre code qui a un problème.

    Après, si vous voulez voir le message d'erreur, il faut lancer le programme depuis un terminal (depuis un file viewer en double cliquant dessus, vous n'avez pas le temps de voir l'erreur).

    Et comme l'erreur mentionnera une bibliothèque manquante, il suffira de chercher un peu sur Internet pour savoir comment intégrer correctement cette bibliothèque avec Pyinstaller.

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

  3. #3
    Futur Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2021
    Messages : 5
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    On peut supposer que vous avez testé votre code avant de le packager avec PyInstaller et que c'est cette transformation de votre code qui a un problème.

    Après, si vous voulez voir le message d'erreur, il faut lancer le programme depuis un terminal (depuis un file viewer en double cliquant dessus, vous n'avez pas le temps de voir l'erreur).

    Et comme l'erreur mentionnera une bibliothèque manquante, il suffira de chercher un peu sur Internet pour savoir comment intégrer correctement cette bibliothèque avec Pyinstaller.

    - W
    J'ai essayé aussi en important avec cx_Freeze mais ça ne marche pas non plus. Je sais pas trop comment faire avec file viewer. Pouvez-vous m'expliquer un peu plus précisément? Merci

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    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 743
    Par défaut
    Citation Envoyé par Karperci Voir le message
    Pouvez-vous m'expliquer un peu plus précisément?
    Comment créer un terminal sous Windows, c'est en lançant cmd.exe.
    Pour le reste, c'est la maitrise de votre environnement de travail, pas un sujet de programmation Python: il y a des forums et des tutos ad hoc pour vous raconter çà.

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

  5. #5
    Futur Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2021
    Messages : 5
    Par défaut
    du coup j'ai réussi avec cx_Freeze:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    from cx_Freeze import setup,Executable
    import sys
    import os
     
    PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
    os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
    os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')
     
    includes = []
    include_files = [(os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tk86t.dll'), os.path.join('lib', 'tk86t.dll')),
                     (os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tcl86t.dll'), os.path.join('lib', 'tcl86t.dll'))]
    packages = []
    base = "Win32GUI"
     
    setup(
        name = 'Buzzer',
        version = '0.1',
        description = 'Buzzer application',
        author = 'Me',
        options={'build_exe': {'include_files': include_files}},
        executables = [Executable('main.py', base=base)]
    )
    j'ai enlevé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    start_btn = tkinter.PhotoImage(file='images/start.png')
    btn_lancement = tkinter.Button(menu, image=start_btn, command = lancement)
     
    stop_btn = tkinter.PhotoImage(file='images/start.png')
    btn_pause = tkinter.Button(menu, text = "pause", command = Phyl.pause)
    il comprend pas où sont les images alors que j'ai mis mes fichiers .py dans un dossier projet avec mes images. Bizarre

  6. #6
    Futur Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2021
    Messages : 5
    Par défaut
    l'erreur en question: Nom : Capture.PNG
Affichages : 350
Taille : 120,8 Ko

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    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 743
    Par défaut
    Citation Envoyé par Karperci Voir le message
    l'erreur en question
    L'erreur dit que vous avez des fichiers de données (images/start.png) et que vous n'avez pas fait ce qu'il faut pour les intégrer dans le packaging ni pour prendre en compte leur emplacement dans l'application packagée.

    Autrement dit, vous utilisez un outil sans avoir lu le mode d'emploi et compris quoi faire dans ce cas là.

    Pour moi, packager une application, c'est pour la déployer sur d'autres postes de travail: vous, à priori, devez savoir programmer et faire ce que tout programmeur fait lorsqu'il se lance à utiliser un joujou qu'il ne connaît pas: lire la doc., tester, regarder les discussions sur Internet,...

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

  8. #8
    Futur Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2021
    Messages : 5
    Par défaut
    Oui c'est ce que j'ai fais, j'ai oublié de mettre le post en résolu Merci bonne soirée

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/12/2016, 18h08
  2. Réponses: 2
    Dernier message: 12/11/2015, 14h03
  3. L'executable ne lance pas
    Par Surikat14 dans le forum C
    Réponses: 4
    Dernier message: 17/08/2007, 08h28
  4. VC++ 6.0: Executable ne se lance pas
    Par beb30 dans le forum MFC
    Réponses: 14
    Dernier message: 11/08/2006, 14h45
  5. mmc.exe qui ne se lance pas
    Par r0d dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 27/04/2005, 17h11

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