普通壓縮,直接用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)境變量中)

