天天看點

python利用PyQt5和QTDesginer開發GUI應用(四)、使用python嵌入式版編譯py檔案為exe檔案

python應用GUI開發系列:

python利用PyQt5和QTDesginer開發GUI應用(一)、環境準備及demo

python利用PyQt5和QTDesginer開發GUI應用(二)、股票查詢工具

python利用PyQt5和QTDesginer開發GUI應用(三)、使用pyinstaller打包成exe檔案

-------------------------------------------------------------------------------------------------------------------

上一篇最後寫到py檔案編譯exe格式後檔案太大,原因是因為我們使用的conda環境編譯的時候會把一堆亂七八糟的依賴全都打進去。

解決辦法有兩個,一個是使用一個純淨的原生python環境,把需要的依賴包安裝好之後,在那個環境下編譯.spec檔案即可。

另一個辦法就是本文介紹的,使用python的嵌入式版本編譯。

下載下傳位址:

https://www.python.org/downloads/release/python-373/

python利用PyQt5和QTDesginer開發GUI應用(四)、使用python嵌入式版編譯py檔案為exe檔案

下載下傳64位的即可。

但是嵌入式版本很純淨甚至沒有pip指令。

解壓下載下傳的嵌入式版本python環境,修改

python37.pth檔案

python利用PyQt5和QTDesginer開發GUI應用(四)、使用python嵌入式版編譯py檔案為exe檔案

下載下傳get-pip.py檔案:https://pip.pypa.io/en/stable/installing/#id7

python利用PyQt5和QTDesginer開發GUI應用(四)、使用python嵌入式版編譯py檔案為exe檔案

把下載下傳的get-pip.py檔案放置在嵌入式python環境根目錄下,在cmd中執行:

./python.exe get-pip.py -default-timeout=2000

可以看到pip指令已經安裝到scripts下:

python利用PyQt5和QTDesginer開發GUI應用(四)、使用python嵌入式版編譯py檔案為exe檔案

這時候就差不多可以了,将GUI的py檔案裡的依賴在這裡使用pip指令安裝,然後安裝pyinstaller即可打包py程式為exe程式。

再次打包之後的程式隻有30M,是原來的十分之一。