Python-为什么用pyinstaller创建可执行程序后,我的可执行程序要花很长时间加载?

问题描述 投票:-1回答:1

我是pyinstaller的新手,但我可以使用它并创建一个可执行文件。

该程序从2010年开始在我的dinky笔记本电脑上运行,时间为0.22-0.24秒。

我做了基本的pyinstaller,同时将其保留为pyinstaller myscript.py --onedir,因为这被解释为是运行它的最快方法。无论如何,该文件都会打开到黑色.exe框并加载约22秒钟,然后才最终打开我的tkinter文本框。

我尝试过其他格式,例如--onefile,但打开时需要花95秒的时间。我已经尝试过尽可能优化我的代码,并将运行时间从0.27提高到令人印象深刻的0.22(讽刺)。 .exe仍需要花费相同的时间来加载。

这里是代码

 import os
 import sys
 import shutil
 import pandas as pd
 import string
 import re
 from tkinter import *
 global lot
 def main():
    window=Tk()
    .... foo
 def lot_check():
    lot=lot.var
    ... foo
 def Lot_Error():
    window1=Tk()
    ... foo

 def clicked():
    lot=txt.get()
    lot=lot.upper()
        pass
    else:
        Lot_Error()
    lot=''.join(L)
    counter=pd.read_csv('F:foo,header=None,)

    r = re.compile("([a-zA-Z]+)([0-9]+)")
    counter_value=r.match(counter.iloc[0,0])
    ... foo
    letter=string.ascii_uppercase[counter_letter_converted]
    ...foo
    counter.iloc[0,0]=m
    counter.to_csv('F:Foo0', encoding='utf-8',header=False,index=False)    
    shutil.copyfile(F:Foo, 'F:Foo2)
    file='Foo2'
    os.startfile(file)
    window.destroy()
 main()
 window.mainloop()

我为所有代码道歉,但我想包括所有我调用的库。我还想添加一些其他内容,以防万一我正在做的事情导致此问题。

我唯一的猜测是我导入了太多的库,而pyinstaller使它们每次运行时都完全加载。会像from pandas import read_csv这样使exe运行更快吗?

感谢您的帮助!

python python-3.x time pyinstaller executable
1个回答
0
投票

对于遇到相同问题的任何人,似乎我是正确的!否则我一开始不幸,但是在删除了所有不重要的库之后,我的代码运行得更快了! vs 22大约需要2秒。虽然不完美,但我会接受。

因此,如果您专注于速度,请使用from x import y

有趣的是pyinstaller甚至说它只下载并运行用过的库,但那里可能存在一些缺陷。无论如何,希望这对以后的任何人都有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.