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