pyinstaller引數介紹以及總結詳解

2021-09-26 07:08:23 字數 1923 閱讀 4771

一、pyinstaller相關引數

-f, –onefile

打包乙個單個檔案,如果你的**都寫在乙個.py檔案的話,可以用這個,如果是多個.py檔案就別用

-d, –onedir

打包多個檔案,在dist中生成很多依賴檔案,適合以框架形式編寫工具**,我個人比較推薦這樣,**易於維護

-k, –tk

在部署時包含 tcl/tk

-a, –ascii

不包含編碼.在支援unicode的python版本上預設包含所有的編碼.

-d, –debug

產生debug版本的可執行檔案

-w,–windowed,–noconsole

使用windows子系統執行.當程式啟動的時候不會開啟命令列(只對windows有效)

-c,–nowindowed,–console

使用控制台子系統執行(預設)(只對windows有效)

pyinstaller -c ***x.py

pyinstaller ***x.py --console

-s,–strip

可執行檔案和共享庫將run through strip.注意cygwin的strip往往使普通的win32 dll無法使用.

-x, –upx

如果有upx安裝(執行configure.py時檢測),會壓縮執行檔案(windows系統中的dll也會)(參見note)

-o dir, –out=dir

指定spec檔案的生成目錄,如果沒有指定,而且當前目錄是pyinstaller的根目錄,會自動建立乙個用於輸出(spec和生成的可執行檔案)的目錄.如果沒有指定,而當前目錄不是pyinstaller的根目錄,則會輸出到當前的目錄下.

-p dir, –path=dir

設定匯入路徑(和使用pythonpath效果相似).可以用路徑分割符(windows使用分號,linux使用冒號)分割,指定多個目錄.也可以使用多個-p引數來設定多個匯入路徑,讓pyinstaller自己去找程式需要的資源

–icon=

將file.ico新增為可執行檔案的資源(只對windows系統有效),改變程式的圖示 pyinstaller -i ico路徑 ***xx.py

–icon=

將file.exe的第n個圖示新增為可執行檔案的資源(只對windows系統有效)

-v file, –version=file

將verfile作為可執行檔案的版本資源(只對windows系統有效)

-n name, –name=name

可選的專案(產生的spec的)名字.如果省略,第乙個指令碼的主檔名將作為spec的名字

二、pyinstaller爬坑總結

第一次玩pyinstaller,遇到了不少坑,在這裡總結一下,以免日後再次掉坑里。

1、先從這次寫的工具再說吧,寫這個工具的初衷是由於自己手工造資料檔案花了很長時間,然後就想著寫個工具來解決這個問題(也是想鍛鍊下自己的**能力,哈哈哈),利用下班晚上以及週末寫了一周大概寫出來了。

這個工具是個掃碼支付檔案生成工具,主要是解決手工造檔案資料,有兩個功能,一是基礎掃碼檔案生成功能、二是大批量掃碼檔案生成功能,同時加上了使用者auth控制。

在這裡提醒大家,在**裡面盡量不要用import,能from.....import....就盡量用這個,因為如果是import的話,在打包的時候,會將整個包都打包到exe裡面,沒有意義的增大了工具的大小!

大概框架如下:

2、gui開發完畢後,開始研究pyinstaller,也翻閱了論壇關於pyinstaller的相關用法,這裡總結下我的工具的打包步驟

2.2、在**的路徑下進行cmd,就直接跳轉到該路徑的cmd介面,切記路徑中不要有中文

2.6、重新生成exe工具,去掉後台模式以及更換掉圖示

再將需要的資源和**檔案放到dist下的專案資料夾中

pyinstaller的安裝 使用 引數介紹

建議使用pip命令進行安裝,方便快捷,如下 pip install pyinstaller首先,在需要打包的 py檔案所在目錄下開啟cmd視窗,然後,使用如下命令進行打包。pyinstaller f py h,help 檢視該模組的幫助資訊 f,onefile 產生單個可執行檔案 d,onedir ...

pyInstaller 引數簡介

以下介紹假設使用者指令碼為main.py,生成結果為main.exe。有些引數實在很少用到,只列出簡單介紹,具體請參閱原文。原文 英文 通用引數 引數名描述說明 h顯示幫助無 v 顯示版本號 無 distpath 生成檔案放在 預設 當前目錄的dist資料夾內 workpath 生成過程中的中間檔案...

PyInstaller各引數含義

通用引數引數名 描述說明 h顯示幫助無 v 顯示版本號 無 distpath 生成檔案放在 預設 當前目錄的dist資料夾內 workpath 生成過程中的中間檔案放在 預設 當前目錄的build資料夾內 y如果dist資料夾內已經存在生成檔案,則不詢問使用者,直接覆蓋 預設 詢問是否覆蓋 upx ...