UPX和pyinstaller 生成exe,誰(shuí)更方便

普通壓縮,直接用PyInstaller壓縮即可。當(dāng)面臨單個(gè)文件越來(lái)越大,切啟動(dòng)越來(lái)越慢,也不知道中間會(huì)發(fā)生什么,一兩百兆甚是恐怖。

一、快捷生成exe,安裝Pyinstaller

在 PyCharm 的終端中運(yùn)行以下命令來(lái)安裝 pyinstaller:輸入pip install pyinstaller進(jìn)行安裝;

'''

pip?install?pyinstaller

'''

二、生成exe

pyinstaller? -F? sqloracle.py MainWindow.py? ?包含控制臺(tái)

pyinstaller? -w -F? sqloracle.py MainWindow.py? ?不包含圖標(biāo)? -i 加圖標(biāo)
pyinstaller -i logo.ico -w -F -D sqloracle.py MainWindow.py??

生成一推文件

pyinstaller -i logo.ico -w -F? sqloracle.py MainWindow.py??



參數(shù)介紹和配置

`pyinstaller`提供了許多參數(shù)來(lái)自定義打包過(guò)程。以下是一些常用的參數(shù):

- `--name`:指定生成的exe文件的名稱(chēng),默認(rèn)為腳本文件名。

- `--onefile`:將所有文件打包成一個(gè)單獨(dú)的exe文件。

- `--windowed`:不顯示控制臺(tái)窗口,適用于圖形界面程序。

- `--icon`:指定生成的exe文件的圖標(biāo)。

- `--add-data`:將數(shù)據(jù)文件或文件夾添加到打包文件中。格式為`<src>;<dst>`,其中`<src>`是源文件或文件夾,`<dst>`是目標(biāo)路徑。

- `--hidden-import`:手動(dòng)添加隱藏的導(dǎo)入模塊。

- `--exclude-module`:排除指定的模塊。

- `--debug`:生成調(diào)試信息。

- `--clean`:在打包前清理臨時(shí)文件。

- `--version`:顯示`pyinstaller`的版本信息。



三、UPX 使用

生成一個(gè)exe文件,發(fā)現(xiàn)exe 文件越來(lái)越大了。


UPX 是一個(gè)可執(zhí)行程序文件壓縮器,壓縮過(guò)的可執(zhí)行文件體積縮小 50%-70%,通過(guò)以上方法打包出來(lái)的 exe 還可以通過(guò) UPX 進(jìn)一步壓縮。


下載地址:https://upx.github.io/

選擇你系統(tǒng)對(duì)應(yīng)的版本下載,下載后解壓到某個(gè)位置,我的電腦是 Windows 11 64bit,所以我選擇這個(gè)版本。

調(diào)用 UPX 壓縮 exe

Pyinstaller 可以通過(guò)添加--upx-dir參數(shù)來(lái)設(shè)置打包時(shí)調(diào)用 UPX 進(jìn)行壓縮,完整命令形式為:

'''

pyinstaller?--upx-dir=D:\develop\upx-4.2.3-win64\upx.exe???mailinfo.py??querysqlite.py

#其中D:\develop\upx-4.2.3-win64\upx.exe是 UPX 的文件路徑。

#多個(gè)py文件 添加后面即可

'''

??:一般文件越大壓縮效果越明顯。不過(guò)在最新的?6.1.0版本中,不用顯式地指定 upx 路徑了,Pyinstaller 會(huì)默認(rèn)調(diào)用(如果你已經(jīng)配置到系統(tǒng)環(huán)境變量中)


壓縮后大小為270M,分散為多個(gè)文件
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容