python打包工具 --- pyinstaller
安裝
安裝python并添加到環(huán)境變量之后,在終端執(zhí)行如下命令即可:
pip install pyinstaller
截圖如下:
?
若安裝失敗,可到:
https://www.lfd.uci.edu/~gohlke/pythonlibs/
下載編譯好的whl文件:
?
?
執(zhí)行
然后在終端執(zhí)行:
pip install xxx.whl
注:請自行將xxx修改為你下載的whl文件名,別傻乎乎的就用xxxT_T。
測試是否安裝成功:
?
普通打包
若需將xxx.py文件打包,只需在終端執(zhí)行:
pyinstaller xxx.py
注:終端需切換至xxx.py文件所在目錄下。路徑中不要有中文!!!!!!!!!!
這個就是生成打包文件的位置,在打包過程中可以看到
在打包過程中,會生成一些文件,打包文件就在? dist? 里面
常用可選項及說明:
-F:打包后只生成單個exe格式文件;
-D:默認選項,創(chuàng)建一個目錄,包含exe文件以及大量依賴文件;
-c:默認選項,使用控制臺(就是類似cmd的黑框);
-w:不使用控制臺;
-p:添加搜索路徑,讓其找到對應的庫;
-i:改變生成程序的icon圖標。
完整可選項及說明:
?
特殊打包
我們可以通過編輯spec文件來滿足一些特殊的打包要求。
注:什么是spec文件?
簡單來說其作用就是用來告訴Pyinstaller如何打包你的py文件。當你在終端使用命令自動打包py文件時,pyinstaller會首先自動創(chuàng)建一個spec文件。一般情況下,我們不需要自己編輯spec文件,除非:
① 需要打包資源文件;
② 為可執(zhí)行文件添加run-time選項,或需要包含一些Pyinstaller不知道的run-time庫。
若要為xxx.py生成spec文件,只需在終端執(zhí)行如下命令即可:
pyi-makespec xxx.py
命令可選項同pyinstaller。
一個簡單的spec文件實例:
?
Analysis:
用于定義python源文件,包括搜索路徑和源文件名等。
① scripts:在Analysis中定義的源文件;
② pure:python模塊;
③ binaries:動態(tài)庫;
④ datas:數(shù)據(jù)文件,包括圖片字體等;
⑤ zipfiles:zip格式的依賴文件,一般是egg格式的庫文件。
PYZ:
將python文件壓縮打包,包含程序運行需要的所有依賴,輸入一般是Analysis.pure。
EXE:
打包生成exe文件,根據(jù)上面兩項生成。EXE子任務包括Analysis的所有5個輸出項以及程序運行所需的一些配置文件和動態(tài)庫。
配置文件和動態(tài)庫通過TOC格式來配置,格式為(name, path, typecode),例如:
?
typecode包括:
① EXTENSION:python擴展庫;
② PYSOURCE:python腳本;
③ PYMODULE;
④ PYZ;
⑤ PKG;
⑥ BINARY:動態(tài)庫;
⑥ DATA:數(shù)據(jù)文件;
⑦ OPTION。
COLLECT:
用來構(gòu)建最終的生成目錄,可以復制其他子任務生成的結(jié)果,并拷貝到指定目錄,形成最終的打包結(jié)果,COLLECT也可以沒有。
編輯完xxx.spec文件后,在終端執(zhí)行:
pyinstaller xxx.spec
命令可選項包括:
–upx-dir,
–distpath,
–noconfirm,
–ascii。
即可生成所需的app(.exe)文件了。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/zmc940317/p/11016857.html
總結(jié)
以上是生活随笔為你收集整理的python打包工具 --- pyinstaller的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA 23种开发模式详解(代码举例)
- 下一篇: Appium+Python+Pychar