天天看點

你需要知道的具有Qt界面的檔案Pyinstaller打包成EXE的一些感悟

這裡 提供一個用于測試Pyinstaller安裝是否有問題的一個小程式

之前在做項目需要将.Py檔案打包成exe送到甲方手裡

之間遇到了很多很多很多的問題

下面總結一下:

首先安裝Pyinstaller,感覺好像沒有其他網友所說的那些存在的版本問題。

直接在PyCharm的Terminal下輸入安裝指令,沒毛病。

pip install pyinstaller      

我是在Anaconda的環境下進行打包處理的,打包出來的檔案稍微有些大,但很有效。

直接的,

在Terminal下運作此指令:

pyinstaller -w 目标檔案.py      

然後再運作下指令進行Debug:

pyinstaller -D 目标檔案.py      

我覺的這樣打包是最好的選擇。

對上述指令進行解釋,

-w 代表将把檔案打包成多檔案格式exe,如下圖,簡而言之,把檔案環境打包到目标檔案夾裡而不是一個內建的exe檔案中,且運作exe不會出現指令行大黑框。

你需要知道的具有Qt界面的檔案Pyinstaller打包成EXE的一些感悟

-D 代表将檔案打包預設值,生成dist檔案夾,其中dist中包含一個main檔案夾,整個檔案内容及其環境就包含在main檔案夾中。且可将exe在cmd運作,如有問題可顯示問題所在,這樣很友好,看到問題後可簡單粗暴的解決問題所在。

打包完成後,在cmd上運作dist->main->.exe檔案

将檔案路徑更改到目标exe檔案下

cd C:\Users\Administrator\Desktop\Natural_gas_market\stock_app_v5.0\dist\main

你需要知道的具有Qt界面的檔案Pyinstaller打包成EXE的一些感悟

簡單粗暴的把.exe拖到大黑框中運作

你需要知道的具有Qt界面的檔案Pyinstaller打包成EXE的一些感悟

注意:上圖的main.exe有圖示是應用了下面語句

-i 目标圖示.ico

将上面加在pyinstaller指令後面即可

pyinstaller -w -i 目标圖示.ico 目标檔案.py

接上cmd運作**.exe**後

不出意外時會出現錯誤的

你需要知道的具有Qt界面的檔案Pyinstaller打包成EXE的一些感悟

我出現的問題時缺少mini_racer.dll,也就是缺環境插件,直接把它找到,然後添加到檔案夾内即可。

但是,

再次運作**.exe**你會發現

肯定不會隻差這一個插件的,不出意外還好缺少一些第三方庫

此時,需要你将整個缺失的包添加到main檔案夾内