簡體   English   中英

Python - 為什么我的可執行程序在使用 pyinstaller 創建后需要很長時間才能加載?

[英]Python- Why does my executable program take a long time to load after creating it with pyinstaller?

我是 pyinstaller 的新手,但我讓它工作並創建了一個可執行文件。

從 2010 年開始,該程序在我的小筆記本電腦上運行 22-0.24 秒。

我做了基本的 pyinstaller,同時將其保留為pyinstaller myscript.py --onedir ,因為這被解釋為運行它的最快方法。 不管怎樣,文件打開到 black.exe 框並加載大約 22 秒,然后最終打開我的 tkinter 文本框。

我嘗試過其他格式,例如--onefile ,但打開需要 95 秒。 我已經嘗試盡可能優化我的代碼,並將運行時間從 27 提高到令人印象深刻的 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 運行得更快嗎?

謝謝您的幫助!!

對於遇到相同問題的任何人,似乎我是正確的,或者我最初很不幸,但是在刪除了所有不重要的庫之后。 我的代碼運行得更快。 大約需要 2 秒 vs 22 秒。不完美,但我會接受。

因此,如果可能,如果您關注速度,請使用from x import y

有趣的是 pyinstaller 甚至說它只下載和運行使用過的庫,但可能存在一些不完善之處。 無論如何,希望這對將來的任何人都有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM