2 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
我已經(jīng)解決了問(wèn)題,并將其作為此問(wèn)題的答案發(fā)布,以防將來(lái)有人遇到類似問(wèn)題。
經(jīng)過(guò)研究,我發(fā)現(xiàn)在大多數(shù)情況下,PyInstaller 的速度很慢,其中有一個(gè)更大的 python 文件,即機(jī)器學(xué)習(xí)。集成 PyInstaller 和 JS/HTML/CSS 還存在其他問(wèn)題,您必須使用 Eel 在文檔之間進(jìn)行通信,隨后,您制作的每個(gè)桌面/網(wǎng)絡(luò)應(yīng)用程序都必須涉及谷歌瀏覽器。
解決方案:作為通過(guò) PyInstaller 構(gòu)建桌面應(yīng)用程序的替代方案,我正在使用 Blazor/Electron 構(gòu)建它。Blazor/Electron 和 Python 之間沒(méi)有直接聯(lián)系,因?yàn)?Blazor 依賴于 C#、JS/HTMLCS。因此,我將 IronPython 移植到我的 C# 文件中,這使我能夠沿著以下路徑進(jìn)行通信。C# -> Python -> C# -> JS/HTML/CSS。Blazor/Electron 的另一個(gè)優(yōu)勢(shì)是應(yīng)用程序可以構(gòu)建為本地桌面應(yīng)用程序而無(wú)需 Internet 連接,并且啟動(dòng)速度更快。最后,C# 允許為您的應(yīng)用程序構(gòu)建啟動(dòng)畫面(應(yīng)用程序首次啟動(dòng)時(shí)加載屏幕),因此即使您的應(yīng)用程序很大且加載時(shí)間很長(zhǎng),也可以通知用戶桌面應(yīng)用程序正在加載!

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
有沒(méi)有可能在使用 Pyinstaller 編譯您的應(yīng)用程序時(shí),您使用了--onefile
?如果是這種情況,請(qǐng)嘗試不使用此命令再次編譯,看看問(wèn)題是否仍然存在。
來(lái)自 Pyinstaller 文檔:
...單個(gè)可執(zhí)行文件的啟動(dòng)速度比單文件夾包慢一點(diǎn)。
在您嘗試?yán)壍揭粋€(gè)文件之前,請(qǐng)確保您的應(yīng)用程序在捆綁到一個(gè)文件夾時(shí)可以正常工作。在單文件夾模式下診斷問(wèn)題要容易得多。
添加回答
舉報(bào)