1. 程式人生 > >vs2017+qt5.9+python3.6打包exe

vs2017+qt5.9+python3.6打包exe

1.使用pyinstaller將.py打包成.exe.(pyinstaller xxx.py -F -w)

tricky:

(1)報錯:utf-8...0xce不能識別啥的

解決方案:輸入CHCP 65001,會車;然後再執行指令。

(2)報錯:cannot load or find mkl什麼的檔案。

解決方案:升級numpy;(pip install --upgrade numpy)然後升級pyinstaller。(可能需要管理員許可權)

2.將vs中專案的屬性設定為"Release", "x64"。將c/c++ ——程式碼生成——執行庫改為多執行緒DLL。

3(可選項,用來隱藏system語句呼叫時彈出的cmd黑框).將system("xxx.exe"),也即執行.py生成的可執行檔案的語句換成WinExec,這時需要將windows.h給include進來。這個只需在屬性——常規——VC++——包含目錄處,新增C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um

4.下載ProcessExplorer,執行你的程式,然後監視那個程序需要哪些.dll。將他們逐一新增到你的.exe所在的檔案位置。

tricky: Qt的許多顯示介面都需要將整個資料夾,而不是資料夾裡出現的.dll放到.exe旁邊!

5.忘了說了,上面一步的.exe一般來說就在vs的x64——Release裡面。

6.現在你有了一堆.dll和一個.exe,看上去很亂是不是,不要緊,下載Enigma Virtual Box,成功將它們打包成一個.exe就好了。