PyInstaller和UPX:讓你的Python應(yīng)用程序在發(fā)布時(shí)更小更快!
在Python開發(fā)中,我們經(jīng)常需要將我們的代碼打包成可執(zhí)行文件,以便在不同的操作系統(tǒng)上運(yùn)行。
PyInstaller是一個(gè)非常流行的工具,可以將Python代碼打包成獨(dú)立的可執(zhí)行文件。
而UPX是一個(gè)開源的可執(zhí)行文件壓縮工具,可以減小可執(zhí)行文件的大小。
本文將介紹如何使用PyInstaller和UPX一起打包Python應(yīng)用程序,以便在發(fā)布時(shí)減小文件大小。
為了能夠使exe應(yīng)用打包時(shí)的大小達(dá)到最優(yōu)狀態(tài),我們還需要使用pipenv來創(chuàng)建獨(dú)立的虛擬環(huán)境從而可以引入更少的python模塊。
在使用pyinstaller打包的過程中仔細(xì)的小伙伴會(huì)發(fā)現(xiàn)經(jīng)常出現(xiàn)UPX is not available.的錯(cuò)誤,其實(shí)這就是未安裝UPX的原因。
在正常安裝了UPX的情況下,通過pyinstaller打包后的exe應(yīng)用會(huì)更小。
下面是UPX的GitHub地址:https://upx.github.io/
接下來就是創(chuàng)建虛擬環(huán)境了,通過pipenv創(chuàng)建虛擬環(huán)境:
pipenv install
創(chuàng)建完成后激活虛擬環(huán)境:
pipenv shell
將下載好的upx解壓到pipenv虛擬環(huán)境對(duì)應(yīng)的目錄下,比如:C:\Users\用戶名.virtualenvs\項(xiàng)目名\Scripts
之后再使用pyinstaller來打包,當(dāng)UPX is not available.不再出現(xiàn)的時(shí)候說明UPX是已經(jīng)生效了。