前言
PyInstaller 用于將 Python 代碼打包成適用于各種操作系統(tǒng)的獨(dú)立可執(zhí)行應(yīng)用程序。它采用 Python 腳本并生成一個包含所有必要依賴項(xiàng)的單個可執(zhí)行文件酷宵,并且可以在未安裝 Python 的計(jì)算機(jī)上運(yùn)行亥贸。這允許輕松分發(fā)和部署 Python 應(yīng)用程序,因?yàn)橛脩魺o需在其系統(tǒng)上安裝 Python 和任何必需的模塊即可運(yùn)行該應(yīng)用程序浇垦。此外炕置,PyInstaller 還可用于創(chuàng)建單文件可執(zhí)行文件,這些文件是包含應(yīng)用程序所有必需依賴項(xiàng)的單個可執(zhí)行文件。這可以使分發(fā)應(yīng)用程序變得更加容易讹俊,因?yàn)橛脩糁恍枰螺d一個文件垦沉。
如何安裝 PyInstaller
pip install pyinstaller
升級pyinstaller
pip install --upgrade pyinstaller
如何使用 PyInstaller 創(chuàng)建 EXE
常用參數(shù)
-h 查看幫助
-w 忽略控制臺,打包gui軟件時(shí)使用
-F dist目錄中只生成一個exe文件
-p 表示你自己定義需要加載的類庫的路徑
-D 創(chuàng)建dist目錄仍劈,里面包含exe以及其他一些依賴性文件(默認(rèn)厕倍,可不添加)
-i 指定打包程序使用的圖標(biāo)文件
命令使用
pyinstaller -i ico.png -F -w demo.py
兩種打包方式
- 文件夾模式onedir
pyinstaller fileren.py
執(zhí)行完命令后,在項(xiàng)目文件夾下多出了三個文件贩疙,build讹弯,dist和fileren.spec、pycache这溅。
- build文件夾用于存儲日志文件组民。
- dist文件夾儲存可執(zhí)行文件即相關(guān)依賴。
- pycache文件夾里是Python版本信息悲靴。
- fileren.spec打包的配置文件臭胜,可以配置依賴資源。
這種模式下癞尚,需要把整個dist文件夾發(fā)給別人才能運(yùn)行耸三。
- 單文件模式onefile
加上-F參數(shù),全部的依賴文件都會被打包到exe文件中浇揩,在dist文件夾中只有一個可執(zhí)行文件仪壮,
把這個可執(zhí)行文件發(fā)給別人就可以直接運(yùn)行了。
pyinstaller -w -F fileren.py
注意事項(xiàng)
有時(shí)候胳徽,除了代碼本身积锅,還包括一些外部資源文件,如圖片养盗、配置文件等缚陷。可以修改第一次打包完成的配置文件XXX.spec配置文件爪瓜,然后執(zhí)行命令pyinstaller xxx.spec蹬跃,便可按照spec文件中的新配置重新打包。
binaries元組铆铆,二進(jìn)制文件(如.exe/.dll/.so等)蝶缀,比如binaries=[('ci64.dll','.'),('ABDLL64.dll','.')]
datas元組,非二進(jìn)制文件(如圖片文件薄货、文本文件等)翁都,例如:datas=[('icons','icons’)]