2017-02-21 1 views
0

Ich versuche, meine Python-Anwendung einfrieren und habe das gleiche Problem bei der Verwendung von Cx_Freeze und Py2Exe laufen. Sobald ich den Code erstellt/eingefroren habe, starte ich die ausführbare Datei und schnell blinken etwa ein halbes Dutzend Konsolen (schnell hintereinander öffnen und schließen) auf dem Bildschirm, bis mein GUI-Fenster (erstellt mit PyQt5) geöffnet wird. Sobald das GUI-Fenster geöffnet ist, scheint alles in Ordnung zu sein.Anwendung öffnet und schließt schnell mehrere Konsolen vor dem Öffnen (PyQt5, Cx_Freeze & Py2Exe)

Hinweis: DLL-Dateien Es scheint ein häufiger Fehler, um DLL-Dateien zu sein, und ich habe bereits enthielt eine Ordner-Plattformen mit der qwindows.dll Datei mit dem Namen, sowie die libEGL.dll Datei direkt in den gleichen Ordner als ausführbare Datei. Ich glaube nicht, dass dies relevant ist, da ich mein ursprüngliches Widget tatsächlich sehen kann.

Hier ist meine setup.py-Datei für 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) 

Hier für Py2exe meine setup.py-Datei ist:

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, 
     } 
    } 
) 

Antwort

-1

Das Problem war, dass ich bestimmte os aufgerufen .system-Befehle vor dem Main-Event so aussehen, bevor tatsächlich ein Pyqt-Fenster geöffnet wurde, mehrere Shells öffneten und schlossen sich in schneller Folge.

Verwandte Themen