2017-02-21 2 views
0

Je tente de geler mon application Python et j'ai rencontré le même problème lors de l'utilisation de Cx_Freeze et Py2Exe. Une fois que j'ai construit/gelé le code, je démarre l'exécutable et rapidement une demi-douzaine de consoles clignotent (ouvrir et fermer rapidement successivement) sur l'écran jusqu'à ce que ma fenêtre GUI (créée en utilisant PyQt5) s'ouvre. Une fois la fenêtre GUI ouverte, tout semble fonctionner correctement.Application ouvre et ferme rapidement plusieurs consoles avant l'ouverture (PyQt5, Cx_Freeze & Py2Exe)

Note: Les fichiers dll Il semble être une erreur commune autour des fichiers DLL et je l'ai déjà inclus un dossier appelé plates-formes avec le fichier qwindows.dll, ainsi que le fichier libEGL.dll directement dans le même dossier en tant que l'exécutable. Je ne crois pas que cela soit pertinent, car je suis en mesure de voir mon widget initial.

Voici mon fichier setup.py pour Cx_Freeze:

import sys 
from cx_Freeze import setup, Executable 

base = 'Win32GUI' 

executables = [ 
    Executable('__main__.py', base=base) 
] 

# Dependencies are automatically detected, but it might need fine tuning. 
buildOptions = {"packages": [], "excludes": []} 
#serial, requests, idna 

setup(name = "Test", 
    version = "0.1", 
    description = "Manufacturing Testing Software", 
    options = dict(build_exe = buildOptions), 
    executables = executables) 

Voici mon fichier setup.py pour py2exe:

from setuptools import setup 
import os 
import py2exe 

includes = ["sip", 
      "PyQt5", 
      "PyQt5.QtCore", 
      "PyQt5.QtGui", 
      "PyQt5.QtWidgets", 
      "PyQt5.QtWebKit", 
      "PyQt5.QtWebKitWidgets", 
      "PyQt5.QtWebKitWidgets", 
      "PyQt5.QtNetwork", 
      "PyQt5.QtPrintSupport"] 

datafiles = [("platforms", [r"C:\Users\allan\AppData\Local\Continuum\Anaconda2\Library\plugins\platforms\qwindows.dll"]), 
      ("", [r"c:\windows\syswow64\MSVCP100.dll", 
        r"c:\windows\syswow64\MSVCR100.dll", 
        r"C:\Python36-32\Lib\site-packages\PyQt5\Qt\bin\libEGL.dll"])] 



setup(
    name='Test', 
    version='1', 
    windows=['__main__.py'], 
    data_files = datafiles, 
    options={ 
     "py2exe":{ 
      "includes": includes, 
     } 
    } 
) 

Répondre

-1

Le problème est que j'invoqué certains os Les commandes .system avant l'événement principal ont l'air avant d'ouvrir réellement une fenêtre pyqt, plusieurs shells s'ouvraient et se fermaient rapidement.