2016-10-29 1 views
0

J'ai créé une application Python en utilisant Pyqt4 pour ouvrir une boîte de dialogue et faire un traitement d'image en utilisant opencv2. L'application fonctionne bien lors de l'exécution du script:Un seul fichier exécutable créé par py2exe ne fonctionne pas

python script.py

Pour créer un seul fichier exécutable pour le script, j'utilise py2exe avec option bundle_files = 1. Il crée un fichier exe unique mais lorsque vous cliquez sur le fichier, une console apparaît pendant quelques secondes et une fenêtre contextuelle apparaît indiquant que le programme a cessé de répondre.

Je travaille sur Windows avec anaconda. S'il vous plait, j'ai besoin de votre aide avec ceci.

Répondre

0

Py2exe génère un fichier journal dans le même dossier lors de la première exécution du fichier généré .exe. Vérifiez ce fichier journal pour déboguer.

La plupart du temps, vous devez exclure certains dll et inclure au moins sip -module;

Dans votre fichier setup.py:

from distutils.core import setup 
import shutil, py2exe 

opts = {'py2exe': {'compressed': True, "dll_excludes": ["MSVCP90.dll"], "includes" : ["sip"]}} 

setup(console=[{"script" : "main.py"}], options=opts) 
shutil.rmtree('build', ignore_errors=True)   #Remove the build folder      

Personnellement, je n'ai pas rencontré la nécessité d'inclure des modules PyQt4 pour la compilation ..

Et BTW heureux que Python est un langage interprété, sinon vous `ll faut se soucier de lier aux bibliothèques sur chaque construction (comme dans cpp .., ce qui est ennuyeux)

Salutations Dr Cobra