基于PyInstaller各參數(shù)的含義說(shuō)明
說(shuō)明
以下介紹假設(shè)用戶腳本為main.py,生成結(jié)果為main.exe。
有些參數(shù)實(shí)在很少用到,只列出簡(jiǎn)單介紹,具體請(qǐng)參閱原文。
通用參數(shù)
參數(shù)名 | 描述 | 說(shuō)明 |
---|---|---|
-h | 顯示幫助 | 無(wú) |
-v | 顯示版本號(hào) | 無(wú) |
–distpath | 生成文件放在哪里 | 默認(rèn):當(dāng)前目錄的dist文件夾內(nèi) |
–workpath | 生成過(guò)程中的中間文件放在哪里 | 默認(rèn):當(dāng)前目錄的build文件夾內(nèi) |
-y | 如果dist文件夾內(nèi)已經(jīng)存在生成文件,則不詢問(wèn)用戶,直接覆蓋 | 默認(rèn):詢問(wèn)是否覆蓋 |
–upx-dir UPX_DIR | 指定upx工具的目錄 | 默認(rèn):execution path |
-a | 不包含unicode支持 | 默認(rèn):盡可能支持unicode |
–clean | 在本次編譯開(kāi)始時(shí),清空上一次編譯生成的各種文件 | 默認(rèn):不清除 |
–log-level LEVEL | 控制編譯時(shí)pyi打印的信息 | 一共有6個(gè)等級(jí),由低到高分別為TRACE DEBUG INFO(默認(rèn)) WARN ERROR CRITICAL。也就是默認(rèn)清空下,不打印TRACE和DEBUG信息 |
與生成結(jié)果有關(guān)的參數(shù)
參數(shù)名 | 描述 | 說(shuō)明 |
---|---|---|
-D | 生成one-folder的程序(默認(rèn)) | 生成結(jié)果是一個(gè)目錄,各種第三方依賴、資源和exe同時(shí)存儲(chǔ)在該目錄 |
-F | 生成one-file的程序 | 生成結(jié)果是一個(gè)exe文件,所有的第三方依賴、資源和代碼均被打包進(jìn)該exe內(nèi) |
–specpath | 指定.spec文件的存儲(chǔ)路徑 | 默認(rèn):當(dāng)前目錄 |
-n | 生成的.exe文件和.spec的文件名 | 默認(rèn):用戶腳本的名稱,即main.py和main.spec |
指定打包哪些資源、代碼
參數(shù)名 | 描述 | 說(shuō)明 |
---|---|---|
–add-data | 打包額外資源 | 用法:pyinstaller main.py --add-data=src;dest。windows以;分割,linux以:分割 |
–add-binary | 打包額外的代碼 | 用法:同–add-data。與–add-data不同的是,用binary添加的文件,pyi會(huì)分析它引用的文件并把它們一同添加進(jìn)來(lái) |
-p | 指定額外的import路徑,類似于使用PYTHONPATH | 參見(jiàn)PYTHONPATH |
–hidden-import | 打包額外py庫(kù) | pyi在分析過(guò)程中,有些import沒(méi)有正確分析出來(lái),運(yùn)行時(shí)會(huì)報(bào)import error,這時(shí)可以使用該參數(shù) |
–additional-hooks-dir | 指定用戶的hook目錄 | hook用法參見(jiàn)其他,系統(tǒng)hook在PyInstaller\hooks目錄下 |
–runtime-hook | 指定用戶runtime-hook | 如果設(shè)置了此參數(shù),則runtime-hook會(huì)在運(yùn)行main.py之前被運(yùn)行 |
–exclude-module | 需要排除的module | pyi會(huì)分析出很多相互關(guān)聯(lián)的庫(kù),但是某些庫(kù)對(duì)用戶來(lái)說(shuō)是沒(méi)用的,可以用這個(gè)參數(shù)排除這些庫(kù),有助于減少生成文件的大小 |
–key | pyi會(huì)存儲(chǔ)字節(jié)碼,指定加密字節(jié)碼的key | 16位的字符串 |
生成參數(shù)
參數(shù)名 | 描述 | 說(shuō)明 |
---|---|---|
-d | 執(zhí)行生成的main.exe時(shí),會(huì)輸出pyi的一些log,有助于查錯(cuò) | 默認(rèn):不輸出pyi的log |
-s | 優(yōu)化符號(hào)表 | 原文明確表示不建議在windows上使用 |
–noupx | 強(qiáng)制不使用upx | 默認(rèn):盡可能使用。 |
其他
參數(shù)名 | 描述 | 說(shuō)明 |
---|---|---|
–runtime-tmpdir | 指定運(yùn)行時(shí)的臨時(shí)目錄 | 默認(rèn):使用系統(tǒng)臨時(shí)目錄 |
Windows和Mac特有的參數(shù)
參數(shù)名 | 描述 | 說(shuō)明 |
---|---|---|
-c | 顯示命令行窗口 | 與-w相反,默認(rèn)含有此參數(shù) |
-w | 不顯示命令行窗口 | 編寫GUI程序時(shí)使用此參數(shù)有用。 |
-i | 為main.exe指定圖標(biāo) | pyinstaller -i beauty.ico main.py |
Windows特有的參數(shù)
參數(shù)名 | 描述 | 說(shuō)明 |
---|---|---|
–version-file | 添加版本信息文件 | pyinstaller --version-file ver.txt |
-m, --manifest | 添加manifest文件 | pyinstaller -m main.manifest |
-r RESOURCE | 請(qǐng)參考原文 | |
–uac-admin | 請(qǐng)參考原文 | |
–uac-uiaccess | 請(qǐng)參考原文 |
補(bǔ)充:pyinstaller打包exe常用參數(shù)
pyinstaller 是python的一個(gè)包,可以把python程序打包成exe文件,這樣其他未安裝python的PC也可以執(zhí)行python寫的程序
安裝
pip install pyinstaller
常用參數(shù)
-D example.py
生成一個(gè)文件夾,里面有exe文件及其動(dòng)態(tài)庫(kù)
-F example.y
只生成exe文件
-w
運(yùn)行exe時(shí)不顯示控制臺(tái)
-c
運(yùn)行exe時(shí)顯示控制臺(tái)
-i example.ico
為程序添加圖標(biāo)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
在Python中操作文件之truncate()方法的使用教程
這篇文章主要介紹了在Python中操作文件之truncate()方法的使用教程,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05Python enumerate函數(shù)遍歷數(shù)據(jù)對(duì)象組合過(guò)程解析
這篇文章主要介紹了Python enumerate函數(shù)遍歷數(shù)據(jù)對(duì)象組合過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12python?plotly設(shè)置go.Scatter為實(shí)線實(shí)例
這篇文章主要為大家介紹了python?plotly設(shè)置go.Scatter為實(shí)線線條的樣式實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10pandas中std和numpy的np.std區(qū)別及說(shuō)明
這篇文章主要介紹了pandas中std和numpy的np.std區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08