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 :

[cx_Freeze].exe qui se ferme instantanément alors que le .py fonctionne normalement


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Privé
    Inscrit en
    Décembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Privé

    Informations forums :
    Inscription : Décembre 2016
    Messages : 5
    Par défaut [cx_Freeze].exe qui se ferme instantanément alors que le .py fonctionne normalement
    Bonjour,
    J'ai finis une première version définitive de mon projet le plus important à ce jour (un petit jeu 2D avec un éditeur et une campagne) mais je n'arrive pas à le faire fonctionner une fois en .exe : la console s'ouvre puis se ferme directement sans lancer le jeu, alors qu'il marche très bien en .py.
    J'ai utilisé un os.system("pause") même si je crois que c'est inutile puis-ce que j'ouvre une fenêtre, mais lui-même ne marche pas (alors qu'il marchait sur un programme qui dit bonjour).

    J'utilise Cx_Freeze pour la convertion, mon setup.py est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    from cx_Freeze import setup, Executable
     
    setup(
    name = "Plagnal" ,
    version = "1.0.0" ,
    description = "Atteignez le bout des niveaux avec votre smiley !" ,
    options = {"build_exe": {"packages":["tkinter", "threading", "random", "time", "os"],
                             "include_files": ["editeur", "gestion_menu", "niveaux", "objets", "statistiques"]}},
    executables = [Executable("Plagnal.py")] ,
    )
    J'avais eu également un problème de "LIBRARY Error" ou je ne sais plus trop, que j'avais corrigé après quelques recherches avec :
    set TCL_LIBRARY=C:\Users\regis\AppData\Local\Programs\Python\Python35-32\tcl\tcl8.6
    set TK_LIBRARY=C:\Users\regis\AppData\Local\Programs\Python\Python35-32\tcl\tk8.6

    (Je ne sais pas si ça a un lien).

    Et je le convertis avec la commande :
    python.exe setup.py build

    Je peux donner d'autres infos si besoin.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur banc de test
    Inscrit en
    Mai 2014
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur banc de test
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 199
    Par défaut
    Bonjour,

    pour pouvoir lire l'erreur à l'exécution vous devez l'appeler depuis la console/terminal (cmd si vous êtes sur Windows), comme ça le contenu restera dans la console.

    Je ne vais pas pouvoir tester si votre setup cx_Freeze fonctionne.

    Si ça peut vous aider, voici un modèle :

    Citation Envoyé par YCL-1 Voir le message
    Bonjour,

    pour installer cx_Freeze il existe la version exécutable disponible pour Python v 2.7 et 3.4 :

    https://pypi.python.org/pypi/cx_Freeze

    Pour ce qui est des réglages du fichier setup :

    cx-freeze.readthedocs.org/distutils

    Voilà un modèle que j'utilise qui recense la plupart des réglages disponibles :

    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    # -*- coding: utf-8 -*-
    # Python 3
    # ___________________________________________________________________________
    #
    # http://cx-freeze.readthedocs.org/en/latest/distutils.html
    # ___________________________________________________________________________
     
    from cx_Freeze import setup, Executable # Create standalone executables from Python scripts
    import os # Miscellaneous operating system interfaces
    import os.path # Common pathname manipulations
    import sys # System-specific parameters and functions
     
    import mon_script as source ##
     
    hide_console_application = False
    icon_file = None
     
    if __name__ == '__main__': # {
        replace_paths_list = [
            (os.path.abspath("."), "."),
        ]
     
        excludes_list = []
        includes_list = []
        packages_list = []
     
        include_files_list = []
     
        zip_includes_list = []
        bin_includes_list = []
        bin_excludes_list = []
     
        bin_path_includes_list = []
        if sys.platform == "linux2": bin_path_includes_list += ["/usr/lib"]
     
        bin_path_excludes_list = []
     
        # GUI applications require a different base on Windows (the default is for a console application)
        base = None
     
        if sys.platform == "win32": # {
            base = "Win32GUI"
        # }
     
        executables = [
            Executable(
                script=source.__file__,
                initScript=None,
                base=[None, base][hide_console_application],
                path=None,
                targetDir=None,
                targetName=None,
                icon=icon_file,
                shortcutName=None,
                shortcutDir=None
            )
        ]
     
        build_exe_options = {
            'optimize': 0,
            'excludes': excludes_list,
            'includes': includes_list,
            'packages': packages_list,
            'namespace_packages': [],
            'replace_paths': replace_paths_list,
            'path': sys.path,
            'compressed': True,
            'constants': [],
            'include_files': include_files_list,
            'zip_includes': zip_includes_list,
            'bin_includes': bin_includes_list,
            'bin_excludes': bin_excludes_list,
            'bin_path_includes': bin_path_includes_list,
            'bin_path_excludes': bin_path_excludes_list,
            'create_shared_zip': False,
            'copy_dependent_files': True,
            'include_in_shared_zip': False,
            'append_script_to_exe': True,
            'icon': icon_file,
            'silent': False,
        }
     
        setup(
            options={'build_exe': build_exe_options},
            executables=executables,
        )
    # } __main__
    Il suffit ensuite de lancer ce script avec l'argument : build_exe

  3. #3
    Membre à l'essai
    Homme Profil pro
    Privé
    Inscrit en
    Décembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Privé

    Informations forums :
    Inscription : Décembre 2016
    Messages : 5
    Par défaut
    Merci pour le modèle, je le garde de côté mais ça n'a pas résolus mon problème.

    Voici ce que j'obtient dans la console (un problèmes avec une/les bibliothèque(s) apparement):
    Nom : Plagnal exe error.png
Affichages : 1371
Taille : 11,7 Ko

    J'ai tenté de le résoudre en copiant-collant celles que j'utilise mais ça n'a rien changé.

Discussions similaires

  1. [EXE VB6 BATCH] .exe ne fonctionne pas alors que le .vb fonctionne
    Par ellimac60 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/07/2013, 10h14
  2. Fenetre win32 qui se ferme instantanement
    Par mansgueg dans le forum C++
    Réponses: 10
    Dernier message: 04/03/2011, 12h16
  3. Requete SQL qui ne retourne rien alors que ma table n est pas vide
    Par adelsunwind dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/06/2009, 19h16
  4. "Undefined reference"s, alors que le linker est normalement configuré !
    Par kidpaddle2 dans le forum Autres éditeurs
    Réponses: 17
    Dernier message: 10/06/2008, 20h49
  5. Réponses: 15
    Dernier message: 25/09/2005, 23h31

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