python打包工具 --- pyinstaller


  安裝  

安裝python並添加到環境變量之后,在終端執行如下命令即可:

pip install pyinstaller

截圖如下:

 

若安裝失敗,可到:

https://www.lfd.uci.edu/~gohlke/pythonlibs/

下載編譯好的whl文件:

 

 

  執行  

然后在終端執行:

pip install xxx.whl

注:請自行將xxx修改為你下載的whl文件名,別傻乎乎的就用xxxT_T。

測試是否安裝成功:

 

  普通打包  

若需將xxx.py文件打包,只需在終端執行:

pyinstaller xxx.py

注:終端需切換至xxx.py文件所在目錄下。路徑中不要有中文!!!!!!!!!!

  這個就是生成打包文件的位置,在打包過程中可以看到

在打包過程中,會生成一些文件,打包文件就在  dist  里面

常用可選項及說明:

-F:打包后只生成單個exe格式文件;

-D:默認選項,創建一個目錄,包含exe文件以及大量依賴文件;

-c:默認選項,使用控制台(就是類似cmd的黑框);

-w:不使用控制台;

-p:添加搜索路徑,讓其找到對應的庫;

-i:改變生成程序的icon圖標。

完整可選項及說明:

 

  特殊打包  

我們可以通過編輯spec文件來滿足一些特殊的打包要求。

注:什么是spec文件?

簡單來說其作用就是用來告訴Pyinstaller如何打包你的py文件。當你在終端使用命令自動打包py文件時,pyinstaller會首先自動創建一個spec文件。一般情況下,我們不需要自己編輯spec文件,除非:

① 需要打包資源文件;

② 為可執行文件添加run-time選項,或需要包含一些Pyinstaller不知道的run-time庫。

若要為xxx.py生成spec文件,只需在終端執行如下命令即可:

pyi-makespec xxx.py

命令可選項同pyinstaller。

一個簡單的spec文件實例:

 

Analysis:

用於定義python源文件,包括搜索路徑和源文件名等。

① scripts:在Analysis中定義的源文件;

② pure:python模塊;

③ binaries:動態庫;

④ datas:數據文件,包括圖片字體等;

⑤ zipfiles:zip格式的依賴文件,一般是egg格式的庫文件。

PYZ:

將python文件壓縮打包,包含程序運行需要的所有依賴,輸入一般是Analysis.pure。

EXE:

打包生成exe文件,根據上面兩項生成。EXE子任務包括Analysis的所有5個輸出項以及程序運行所需的一些配置文件和動態庫。

配置文件和動態庫通過TOC格式來配置,格式為(name, path, typecode),例如:

 

 

typecode包括:

① EXTENSION:python擴展庫;

② PYSOURCE:python腳本;

③ PYMODULE;

④ PYZ;

⑤ PKG;

⑥ BINARY:動態庫;

⑥ DATA:數據文件;

⑦ OPTION。

COLLECT:

用來構建最終的生成目錄,可以復制其他子任務生成的結果,並拷貝到指定目錄,形成最終的打包結果,COLLECT也可以沒有。

編輯完xxx.spec文件后,在終端執行:

pyinstaller xxx.spec

命令可選項包括:

–upx-dir,

–distpath,

–noconfirm,

–ascii。

即可生成所需的app(.exe)文件了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM