2017-02-21 67 views
0

我试图冻结我的Python应用程序,并且在使用Cx_Freeze和Py2Exe时都遇到了同样的问题。一旦我构建/冻结了代码,我就启动了可执行文件,并迅速在屏幕上闪烁大约6个控制台(连续快速打开和关闭),直到我的GUI窗口(使用PyQt5创建)打开。一旦GUI窗口打开时,一切似乎都很正常操作。应用程序在打开之前快速打开并关闭多个控制台(PyQt5,Cx_Freeze和Py2Exe)

注:DLL文件 似乎有大约DLL文件一个常见的错误,我已经包含了一个名为与qwindows.dll文件夹的平台,还有libEGL.dll直接在同一个文件文件夹为可执行文件。我不相信这是相关但因为我能真正看到我最初的Widget。

这里是我的Cx_Freeze setup.py文件:

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) 

这里是我的Py2Exe setup.py文件:

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

回答

-1

的问题是,我调用的某些操作系统.system命令在主事件之前看,所以在实际打开一个pyqt窗口之前,几个shell正在快速连续地打开和关闭。