加快python gui可执行启动的速度

时间:2019-06-12 14:18:38

标签: python-3.x pyinstaller cythonize

我希望加快我在Python中创建的GUI的速度,因为使用-onedir选项在PyInstaller中创建可执行文件后,启动它需要15-20秒的时间。显示控制台后,需要一段时间才能真正加载,然后我收到一个matplotlib贬值警告,显示大约5-10秒,然后所有导入的模块都需要一段时间才能加载,解决这个问题的方法?

Matplotlib警告:

“ z:\ engineering \ workspace \ david \ zviapp \ released \ environment \ zviapp_enviornment \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py:627:MatplotlibDeprecation警告: MATPLOTLIBDATA环境变量在Matplotlib 3.1中已弃用,在3.3中将被删除。   exec(字节码,模块。 dict )”

我的应用程序导入了多个GUI,因为它们可以一起工作,如下所示;

ZVIApp.py

from HomeWindow import Ui_HomeWindow
from MainWindow import Ui_MainWindow
from ValveSim import ValveSimulation ## calls additional Stage.py and ValveMain.py
from Settings import Settings ,Ui_Settings
from MetalSizing import MetalSizing
from login import Ui_Dialog
from signup import Ui_signUp
from Data import *
from GraphWindow import GraphWindow

我一直在考虑将python转换为某种C语言以提高速度,但是使用Cython我得到了一个.C文件,并尝试将其构建为exe文件,并且出现了@ WinMain16错误,我认为这是因为没有main()函数

stackoverflow上也有类似的线程,但是它们都不会对我的情况有所帮助,因为我真的不知道如何使用Cython。

命令行:

gcc -DMS_WIN32 -O -Wall -I "C:\Program Files (x86)\Microsoft Visua
l Studio\Shared\Python36_86\include" -L "C:\Program Files (x86)Microsoft Visual Studio\Shared\Python36_86\libs"
-o ZVIApp.exe ZVIApp.c

结果为“对WinMain16的未定义引用”

我想加快GUI的启动速度。我正在使用PyQT5。

ZVIApp.spec

# -*- mode: python -*-

block_cipher = None


a = Analysis(['Z:\\Engineering\\Workspace\\David\\ZVIApp\\Code\\ZVIApp.py'],
             pathex=['Z:\\Engineering\\Workspace\\David\\ZVIApp\\Released'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          [],
          exclude_binaries=True,
          name='ZVIApp',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=False , icon='Z:\\Engineering\\Workspace\\David\\ZVIApp\\Code\\zvi.ico')
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='ZVIApp')

0 个答案:

没有答案