Bonjour,

Je tente de créer un exécutable avec cx_freeze pour un petit programme utilisant numpy.
Lors de la compilation je n'ai aucun message d'erreur, mais si je lance le .exe rien ne se passe. (Via le gestionnaire des tâches je vois que le programme est lancé mais il s'arrête immédiatement...)
Je n'ai pas d'erreur de compilation , pas d'erreur au lancement...

J'ai regardé les différentes solutions déjà en ligne :
https://www.developpez.net/forums/d1...eur-lancement/
https://www.developpez.net/forums/d1...qt-matplotlib/
https://stackoverflow.com/questions/...in-cx-freeze-p.

Mais elles n'ont pas fonctionné pour moi.
J'ai mis de côté la partie de programme utilisant numpy pour faire un test. L'exécutable s'ouvre normalement dans ce cas...

Voici mon fichier setup :
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
88
89
90
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Python 3
 
"""
Template : recettes Tyrtamos
Pas d'accent dans le setup.py, ni dans la description, ni dans les commentaires
 
Icone sous Windows: il faut:
=> un xxx.ico pour integration dans le exe, avec "icon=xxx.ico"
=> un xxx.png pour integration avec PyQt5 + demander la copie avec includefiles.  
"""
 
import sys, os
from cx_Freeze import setup, Executable
 
import numpy
 
os.environ["TCL_LIBRARY"] = r"C:\\ProgramData\\Anaconda3\\tcl\\tcl8.6" 
os.environ["TK_LIBRARY"] = r"C:\\ProgramData\\Anaconda3\\tcl\\tk8.6" 
 
#############################################################################
# preparation des options 
 
# chemins de recherche des modules
path = sys.path
 
# options d'inclusion/exclusion des modules
includes = ["atexit","numpy.core._methods", "numpy.lib.format"]
excludes = ["tkinter"]
packages = ["pkg_resources._vendor","numpy"]
 
# copier les fichiers et/ou repertoires et leur contenu:
includefiles=[(r"C:\Users\epic\Desktop\Python\images\images[7].png"),"flowdef.txt"]
includefiles += [(r"C:\Users\epic\Desktop\Python\gui","gui")] # recopier l'icone.png de la fenetre ici
includefiles += [(r"C:\Users\epic\Desktop\Python\images","images")]
 
includefiles += [(r"C:\ProgramData\Anaconda3\Library\plugins\platforms","platforms")]
includefiles += [(r"C:\ProgramData\Anaconda3\Library\bin\sqlite3.dll","sqlite3.dll")]
includefiles += [(r"C:\ProgramData\Anaconda3\Lib\site-packages\pint","pint")]
#includefiles += [(r"E:\Python34\Lib\site-packages\PyQt4\translations","translations")]
 
 
binpathincludes = []
 
 
# construction du dictionnaire des options
options = {"path": path,
           "includes": includes,
           "excludes": excludes,
           "packages": packages,
           "include_files": includefiles,
           "bin_path_includes": binpathincludes,
 
           }
 
# pour inclure sous Windows les dll system necessaires
if sys.platform == "win32":
    options["include_msvcr"] = True
 
#############################################################################
# preparation des cibles
base = None
if sys.platform == "win32":
    # plateforme Windows
    base = "Win32GUI" # pour les programmes graphiques
    #base = "Console" # pour les programmes en console
 
icone = None
if sys.platform == "win32":
    icone = (r"C:\Users\epic\Desktop\Python\images\images[7].ico") # mettre ici l'icone.ico pour integration dans l'exe
 
cible_1 = Executable(
    script = "aide_calculs_conversions.py",
    base = base,
    icon=icone
 
    )
 
 
#############################################################################
# creation du setup
setup(
    name = "Aide aux conversions et calculs",
    version = "3.00",
    description = "Application contenant des utilitaires pour des conversions et calculs simples",
    author = "EPIC",
    options = {"build_exe": options},
    executables = [cible_1]
    )
Si besoin je possède un fichier texte avec les informations de la compilation (trop volumineux pour être posté mais si besoin je peux le transmettre).
Merci d'avance pour votre aide

Bonne journée