Bonjour

Je sollicite votre aide pour utiliser cx_freeze, j'essaye de transformer un fichier .py en .exe, pour l'instant sans succès, j'ai testé jusqu'ici plusieurs solutions trouvé sur le net sans trop comprendre le sens de ce que je faisais

Pour résumer, j'ai un fichier redressement_image_seq.py sur mon bureau à coté d'un fichier setup.py qui contient le code suivant (comme indiqué dans la doc)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
 
from cx_Freeze import setup, Executable
 
# On appelle la fonction setup
setup(
    name = "redressement_image_seq",
    version = "0.1",
    description = "redressement_image_seq",
    executables = [Executable("redressement_image_seq.py")],
                   )
je converti ensuite mon fichier .py en .exe en utilisant la fonction suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
C:\Users\Antoine\Desktop>python setup.py build
pas de message d'erreur particulier à la suite de cette commande

mon .exe se trouve alors dans le dossier build\exe.win32-2.7\
je vais dans le dossier puis je lance l'exe

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
C:\Users\Antoine\Desktop\>cd build\exe.win32-2.7
C:\Users\Antoine\Desktop\build\exe.win32-2.7>
C:\Users\Antoine\Desktop\build\exe.win32-2.7>redressement_image_seq.exe
et j'obtiens le message d'erreur suivant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ImportError: No module named backend_qt4agg

je pense qu'il faut jouer avec les options dans le fichier setup.py, si vous avez des doc pour expliquer comment faire ça de manière simple à quelqu'un qui n'a pas l’habitude de programmer en python

pour info, j'utilise les modules suivant dans mon fichier .py

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
from struct import pack
from pylab import fromfile, reshape
 
import matplotlib.pyplot as plt #plt.close(), plt.figure(), plt.show
 
import numpy as np 
#array, zeros, np.linalg.det, np.dot, np.linalg.inv,np.meshgrid
 
from scipy import interpolate
 
from Tkinter import *
import tkFileDialog # tkFileDialog.askopenfilename
import tkMessageBox #  tkMessageBox.showwarning, tkMessageBox.showinfo