我希望加快我在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')