Nuitka 全命令
Nuitka
模塊的大部分參數(shù)及解釋(即 help
文檔),機翻中文版,由 傾情翻譯。
Option:
--help
??顯示此幫助信息并退出
--version
顯示版本信息和提交 bug
報告所需的重要細節(jié),然后退出。默認(rèn)關(guān)閉。
--module
創(chuàng)建一個擴展模塊可執(zhí)行文件,而不是一個程序。默認(rèn)關(guān)閉。
--standalone
啟用獨立模式輸出。這允許您將創(chuàng)建的二進制文件轉(zhuǎn)移到其他機器上,而不需要現(xiàn)有的 Python
安裝。這也意味著它會變大。它隱含了這些選項: --follow-imports
和 --python-flag=no_site
。默認(rèn)關(guān)閉。
--onefile
在獨立模式的基礎(chǔ)上,啟用 onefile
模式。這意味著創(chuàng)建并使用的不是一個文件夾,而是一個壓縮的可執(zhí)行文件。默認(rèn)關(guān)閉。
--python-debug
是否使用 debug
版本。默認(rèn)使用您用來運行 Nuitka
的版本,很可能是非 debug
版本。
--python-flag=FLAG
要使用的 Python 標(biāo)志。默認(rèn)是您用來運行 Nuitka 的標(biāo)志,這強制執(zhí)行一個特定的模式。這些選項也存在于標(biāo)準(zhǔn) Python 可執(zhí)行文件中。當(dāng)前支持的有:"-S"(alias "no_site"),"static_hashes"(不使用散列隨機化),"no_warnings"(不給出 Python 運行時警告),"-O"(alias "no_asserts"),"no_docstrings"(不使用文檔字符串),"-u"(alias "unbuffered")和"-m"。默認(rèn)為空。
--python-for-scons=PATH
??如果使用 Python3.3 或 Python3.4,提供一個 Python 二進制文件的路徑供 Scons 使用。否則 Nuitka 可以使用您用來運行 Nuitka 的二進制文件或從 Windows 注冊表中獲取一個 Python 安裝。在 Windows 上需要 Python 3.5 或更高版本。在非 Windows 上,Python 2.6 或 2.7 也可以。
控制結(jié)果中包含的模塊和包:
--include-package=PACKAGE
??包含一個完整的包。提供為一個 Python 命名空間,例如 "some_package.sub_package
",然后 Nuitka
會找到它,并將其及其下面找到的所有模塊包含在它創(chuàng)建的二進制文件或擴展模塊中,并使代碼可以導(dǎo)入它。為了避免不需要的子包,例如測試,您可以這樣做"--nofollow-import-to=*.tests
"。默認(rèn)為空。
使用這個選項后,所有在 PACKAGE
中被列出來的包,例如 --include-package=av,PySide6,faster_whisper,transformers,ctranslate2
,所有這些包都 將會被完整編譯,這將 增加編譯時間,同時可能解決一部分編譯后出現(xiàn)模塊或者子模塊無法找到的錯誤,例如:ModelFoundError
、importError
、No model Named XXXX
。
--include-module=MODULE
??包含一個單一的模塊。提供為一個 Python
命名空間,例如 "some_package.some_module
",然后 Nuitka 會找到它,并將其包含在它創(chuàng)建的二進制文件或擴展模塊中,并使代碼可以導(dǎo)入它。默認(rèn)為空。
--include-plugin-directory=MODULE/PACKAGE
??在該目錄中找到的代碼也將被包含,就像它們每個都作為主文件給出一樣。覆蓋所有其他包含選項。您應(yīng)該更喜歡按名稱而不是文件名的其他包含選項,因為它們通過在“sys.path”中來查找東西。這個選項僅用于非常特殊的使用案例??梢远啻谓o定。默認(rèn)為空。
--include-plugin-files=PATTERN
??包含匹配 PATTERN 的文件。覆蓋所有其他 follow 選項。可以多次給出。默認(rèn)為空。
--prefer-source-code
??對于已經(jīng)編譯的擴展模塊,如果同時存在源文件和擴展模塊,通常使用擴展模塊,但從可用的源代碼編譯模塊性能最佳。如果不需要,使用 --no-prefer-source-code
來禁用關(guān)于此的警告。默認(rèn)關(guān)閉。
對導(dǎo)入模塊的跟蹤控制:
--follow-imports ? ?
遞歸到所有導(dǎo)入的模塊。在 --standalone
模式下默認(rèn)開啟,否則關(guān)閉。
--follow-import-to=MODULE/PACKAGE
??如果使用了這個模塊,或者如果是一個包,跟蹤到整個包??梢远啻谓o出。默認(rèn)為空。 ?
--nofollow-import-to=MODULE/PACKAGE
即使使用了也不跟蹤這個模塊,或者如果是一個包,在任何情況下也不跟蹤整個包,覆蓋所有其他選項??梢远啻谓o出。默認(rèn)為空。
--nofollow-imports
完全不遞歸到任何導(dǎo)入的模塊,覆蓋所有其他包含選項,不能用于獨立模式。默認(rèn)關(guān)閉。
--follow-stdlib ? ?
遞歸到標(biāo)準(zhǔn)庫中導(dǎo)入的模塊。這將極大地增加編譯時間,目前也沒有很好地測試過,有時也不起作用。默認(rèn)關(guān)閉。
Onefile 選項:
--onefile-tempdir-spec=ONEFILE_TEMPDIR_SPEC
??在 onefile
模式下解壓縮到此文件夾。默認(rèn) '%TEMP%/onefile_%PID%_%TIME%
,即用戶臨時目錄,由于不是靜態(tài)的,退出時會被刪除。例如,使用類似' CACHE_DIR%/%COMPANY%/%PRODUCT%/%VERSION%
的字符串,這是一個很好的靜態(tài)緩存路徑,因此不會被刪除。
--onefile-child-grace-time=GRACE_TIME_MS
??當(dāng)停止子進程時,例如由于 CTRL-C
或關(guān)閉等,Python
代碼會收到一個 KeyboardInterrupt
,它可以處理,例如刷新數(shù)據(jù)。這是在硬關(guān)閉子進程前的寬限時間(單位毫秒)。默認(rèn)值為 5000。
數(shù)據(jù)文件:
--include-package-data=PACKAGE
??包含給定包名的數(shù)據(jù)文件。DLL
和擴展模塊不是數(shù)據(jù)文件,不會像這樣包含??梢韵裣旅嬷甘镜哪菢邮褂猛ㄅ浞DJ(rèn)情況下不包含包的數(shù)據(jù)文件,但包配置可以做到這一點。這只會包含非 DLL
、非擴展模塊的實際數(shù)據(jù)文件。冒號后可選地可以給出一個文件名模式,僅選擇匹配的文件。例子:
--include-package-data=package_name
(所有文件)--include-package-data=package_name=*.txt
(僅某種類型)--include-package-data=package_name=some_filename.dat
(具體文件)默認(rèn)為空。
--include-data-files=DESC
??通過發(fā)行版中的文件名包含數(shù)據(jù)文件。有許多允許的形式。
使用
--include-data-files=/path/to/file/*.txt=folder_name/some.txt
它會復(fù)制一個單一文件,如果是多個會抱怨。使用
--include-data-files=/path/to/files/*.txt=folder_name/
它會把所有匹配的文件放入那個文件夾。要進行遞歸復(fù)制,有一個帶 3 個值的表單,即
--include-data-files=/path/to/scan=folder_name=**/*.txt
這會保留目錄結(jié)構(gòu)。默認(rèn)為空。
--include-data-dir=DIRECTORY
??從發(fā)行版中包含完整的目錄中的數(shù)據(jù)文件。這是遞歸的。如果您想要非遞歸包含,請使用帶通配符的 --include-data-files
。一個例子是 --include-data-dir=/path/some_dir=data/some_dir
,用于簡單復(fù)制整個目錄。所有文件都將被復(fù)制,如果您想排除文件,您需要事先將其刪除,或使用 --noinclude-data-files
選項將其刪除。默認(rèn)為空。
--noinclude-data-files=PATTERN
??不要包含匹配給定的文件名模式的數(shù)據(jù)文件。這是針對目標(biāo)文件名,而不是源路徑。因此,要忽略來自 package_name
的數(shù)據(jù)文件的文件模式,應(yīng)匹配為 package_name/*.txt
?;蛘邔τ谡麄€目錄,簡單地使用 package_name
。默認(rèn)為空。
--list-package-data=LIST_PACKAGE_DATA
??輸出為給定包名找到的數(shù)據(jù)文件。默認(rèn)不執(zhí)行。
DLL 文件:
--noinclude-dlls=PATTERN
??不要包含匹配給定的文件名模式的 DLL
文件。這是針對目標(biāo)文件名,而不是源路徑。因此,要忽略包含在包 package_name
中的某個 DLL
"someDLL",應(yīng)匹配為 package_name/someDLL.*
。默認(rèn)為空。
--list-package-dlls=LIST_PACKAGE_DLLS
??輸出為給定包名找到的 DLL。默認(rèn)不執(zhí)行。
控制 Nuitka 給出的警告:
--warn-implicit-exceptions
??啟用對編譯時檢測到的隱式異常的警告。
--warn-unusual-code
??啟用對編譯時檢測到的不尋常代碼的警告。
--assume-yes-for-downloads
??允許Nuitka在必要時下載外部代碼,例如dependency walker, ccache,甚至在Windows上是gcc。要禁用,從空設(shè)備重定向輸入,例如"</dev/null" 或 "<NUL:"。默認(rèn)是提示。
--nowarn-mnemonic=MNEMONIC
??禁用給定助記符的警告。這些是為了確保您知道某些主題,通常指向 Nuitka 網(wǎng)站。助記符是 URL 末尾的部分,沒有 HTML 后綴??梢远啻谓o出,并接受 shell 模式。默認(rèn)為空。
編譯后立即執(zhí)行:
--run
??立即執(zhí)行創(chuàng)建的二進制文件(或?qū)刖幾g后的模塊)。默認(rèn)關(guān)閉。
--debugger
??在調(diào)試器中執(zhí)行,例如 "gdb
" 或 "lldb
" 以自動獲取堆棧跟蹤。默認(rèn)關(guān)閉。
--execute-with-pythonpath
??當(dāng)使用 --run
立即執(zhí)行創(chuàng)建的二進制文件或模塊時,不重置 PYTHONPATH
環(huán)境變量。當(dāng)所有模塊都成功包含時,您不應(yīng)該需要 PYTHONPATH
了,對于獨立模式尤其如此。
編譯選擇:
--user-package-configuration-file=YAML_FILENAME
??用戶提供的帶有包配置的 Yaml 文件。您可以包含 DLL、刪除臃腫、添加隱藏依賴項。有關(guān)要使用的格式的完整描述,請查看用戶手冊??梢远啻谓o出。默認(rèn)為空。
--full-compat
? ? ? 強制與 CPython 絕對兼容。甚至不允許與 CPython 行為的輕微偏差,例如沒有更好的回溯或異常消息,這些并不是真的不兼容,只是不同或更差。這僅用于測試,不應(yīng)使用。
--file-reference-choice=MODE
??選擇“file”將采用的值。對于“運行時”(獨立二進制模式和模塊模式的默認(rèn)值),創(chuàng)建的二進制文件和模塊使用它們自己的位置來推斷“file”的值。包含的包假裝在該位置下面的目錄中。這允許您在部署中包含數(shù)據(jù)文件。如果您僅僅是尋求加速,那么使用“原始”值會對您更好,其中將使用源文件的位置。使用“凍結(jié)”時,使用類似“<frozen module_name>”的標(biāo)記。為了兼容性,“file”的值將始終具有“.py”后綴,無論它實際上是什么。
--module-name-choice=MODE
??選擇“name”和“package”將采用的值。對于“運行時”(模塊模式的默認(rèn)值),創(chuàng)建的模塊使用父包來推斷“package”的值,以保持完全兼容?!霸肌钡闹担ㄆ渌J降哪J(rèn)值)允許進行更靜態(tài)的優(yōu)化,但對于可以加載到任何包中的模塊不兼容。
輸出選擇:
--output-filename=FILENAME
??指定如何命名可執(zhí)行文件。對于擴展模塊沒有選擇,也不用于獨立模式,使用它將是一個錯誤。這可能包括需要存在的路徑信息。默認(rèn)為此平臺上的可執(zhí)行文件格式,如:“<program_name>”.exe
--output-dir=DIRECTORY
??指定應(yīng)將中間和最終輸出文件放入的位置。該目錄將填充構(gòu)建文件夾、dist
文件夾、二進制文件等。默認(rèn)為當(dāng)前目錄。
--remove-output
生成模塊或可執(zhí)行文件后刪除構(gòu)建目錄。默認(rèn)關(guān)閉。
--no-pyi-file
為 Nuitka
創(chuàng)建的擴展模塊不要創(chuàng)建 .pyi
文件。這用于檢測隱式導(dǎo)入。默認(rèn)關(guān)閉。
調(diào)試功能:
--debug
? ? ? ? ? ? 執(zhí)行所有可能的自檢以查找 Nuitka 中的錯誤,不要用于生產(chǎn)。默認(rèn)關(guān)閉。
--unstripped
? ? ? ?在生成的對象文件中保留調(diào)試信息,以獲得更好的調(diào)試器交互。默認(rèn)關(guān)閉。
--profile
? ? ? ? ? 啟用基于 vmprof 的編譯時間概要分析。當(dāng)前不工作。默認(rèn)關(guān)閉。
--internal-graph
??創(chuàng)建優(yōu)化過程內(nèi)部的圖。不要用于整個程序,僅用于小的測試用例。默認(rèn)關(guān)閉。
--trace-execution
??跟蹤執(zhí)行輸出,在執(zhí)行每行代碼之前輸出該行。默認(rèn)關(guān)閉。
--recompile-c-only
??這不是增量編譯,而僅用于 Nuitka 開發(fā)。獲取現(xiàn)有文件并簡單地再次將它們編譯為 C。允許編譯編輯后的 C 文件以快速調(diào)試生成的源代碼中的更改,例如看代碼是否通過,輸出的值等,默認(rèn)關(guān)閉。取決于編譯 Python 源代碼以確定應(yīng)查看的文件。
--xml=XML_FILENAME
??將內(nèi)部程序結(jié)構(gòu),優(yōu)化結(jié)果以 XML 形式寫入給定的文件名。
--generate-c-only
??僅生成 C 源代碼,不編譯為二進制文件或模塊。這是為了調(diào)試和代碼覆蓋分析,不會浪費 CPU。默認(rèn)關(guān)閉。不要認(rèn)為您可以直接使用它。
--experimental=FLAG
??使用標(biāo)記為“實驗性”的功能。如果沒有實驗性功能存在于代碼中,可能沒有效果。每個實驗功能使用秘密標(biāo)簽(檢查源代碼)。
--low-memory
? ? ? ?嘗試使用更少的內(nèi)存,通過派生較少的 C 編譯作業(yè)和使用較少內(nèi)存的選項。用于嵌入式機器。如果出現(xiàn)內(nèi)存不足的問題,請使用此選項。默認(rèn)關(guān)閉。
--create-environment-from-report=CREATE_ENVIRONMENT_FROM_REPORT
??從給定報告文件(例如“--report=compilation-report.xml”)創(chuàng)建給定不存在路徑上的新 virtualenv。默認(rèn)不執(zhí)行。
后端 C 編譯器選擇:
--clang
? ? ? ? ? ? 強制使用 clang。在 Windows上,這需要一個有效的 Visual Studio 版本進行支持。默認(rèn)關(guān)閉。
--mingw64
? ? ? ? ? 在 Windows 上強制使用 MinGW64。默認(rèn)關(guān)閉,除非使用帶 MinGW Python 的 MSYS2。與 --clang
命令一起使用就可以使用 MSYS2
的 clang 編譯器,否則即使指定了 --clang
參數(shù)也將使用 MSVC
版本的 clang 編譯器。
--msvc=MSVC_VERSION
??在 Windows上強制使用特定的 MSVC 版本。允許的值例如“14.3”(MSVC 2022)和其他 MSVC 版本號,指定“l(fā)ist”獲取已安裝編譯器的列表,或使用“l(fā)atest”。如果已安裝,默認(rèn)為最新的 MSVC,否則使用 MinGW64。
--jobs=N
? ? ? ? ? ?指定允許的并行 C 編譯器作業(yè)數(shù)。默認(rèn)為系統(tǒng) CPU 數(shù)。
--lto=choice
? ? ? ?使用鏈接時間優(yōu)化(MSVC,gcc,clang)。允許的值為“yes”、“no”和“auto”(已知工作時)。默認(rèn)為“auto”。
--static-libpython=choice
??使用 Python 的靜態(tài)鏈接庫。允許的值為“yes”、“no”和“auto”(已知工作時)。默認(rèn)為“auto”。
緩存控制:
--disable-cache=DISABLED_CACHES
??禁用所選緩存,指定 all
表示全部緩存。當(dāng)前允許的值有:all
,ccache
,bytecode
,dll-dependencies
。可以多次給出或用逗號分隔的值。??默認(rèn)不開啟。
--clean-cache=CLEAN_CACHES
??在執(zhí)行之前清除給定的緩存,指定 all
表示全部緩存。當(dāng)前允許的值有:all
,ccache
,bytecode
,dll-dependencies
??梢远啻谓o出或用逗號分隔的值。??默認(rèn)不開啟。
--disable-bytecode-cache
??不要重用標(biāo)準(zhǔn)庫中包含的字節(jié)碼的模塊的依賴關(guān)系分析結(jié)果。與 --disable-cache=bytecode
相同。
--disable-ccache
不要試圖使用 ccache
(gcc
、clang
等)或 clcache
(MSVC
、clangcl
)。與 --disable-cache=ccache
相同。
--disable-dll-dependency-cache
??禁用依賴項行走器緩存。這將導(dǎo)致創(chuàng)建發(fā)行版文件夾時間大大增加,但可能在緩存可能導(dǎo)致錯誤時使用。與 --disable-cache=dll-dependencies
相同。
--force-dll-dependency-cache-update
??強制更新依賴項行走器緩存。這將導(dǎo)致創(chuàng)建發(fā)行版文件夾時間大大增加,但在懷疑緩存導(dǎo)致錯誤或已知需要更新時可能會使用。
PGO 編譯選擇:
--pgo
啟用C級別的基于Profile的優(yōu)化(PGO),通過首先執(zhí)行一個專門的構(gòu)建進行分析運行,然后使用結(jié)果反饋到C編譯中。注意:這是實驗性的,在 Nuitka 的獨立模式下還不工作。默認(rèn)關(guān)閉。
--pgo-args=PGO_ARGS
??在進行基于Profile的優(yōu)化時要傳遞的參數(shù)。這些在 PGO 分析運行期間傳給特殊構(gòu)建的可執(zhí)行文件。默認(rèn)為空。
--pgo-executable=PGO_EXECUTABLE
??收集配置文件信息時要執(zhí)行的命令。僅在需要通過腳本啟動它時使用。默認(rèn)使用創(chuàng)建的程序。
跟蹤功能:
--report=REPORT_FILENAME
??在 XML 輸出文件中報告模塊、數(shù)據(jù)文件、編譯、插件等詳細信息。這在問題報告中也非常有用。例如,這些報告可以與“--create-environment-from-report”一起使用,輕松重新創(chuàng)建環(huán)境,但包含大量信息。默認(rèn)關(guān)閉。
--report-template=REPORT_DESC
??通過模板報告。提供模板和輸出文件名"template.rst.j2:output.rst"。對于內(nèi)置模板,請查看用戶手冊以了解這些模板??梢远啻谓o定。默認(rèn)為空。
--quiet
? ? ? ? ? ? 禁用所有信息輸出,但顯示警告。默認(rèn)關(guān)閉。
--show-scons
? ? ? ?使用詳細信息運行 C 構(gòu)建后端 Scons,顯示執(zhí)行的命令、檢測到的編譯器。默認(rèn)關(guān)閉。
--no-progressbar
禁用進度條。默認(rèn)關(guān)閉。
--show-progress
已廢棄:提供編譯進度信息和統(tǒng)計信息。禁用正常的進度條。默認(rèn)關(guān)閉。
--show-memory
提供內(nèi)存信息和統(tǒng)計信息。默認(rèn)關(guān)閉。
--show-modules
提供包含的模塊和 DLL 的信息。已廢棄:您應(yīng)該改用 '--report' 文件。默認(rèn)關(guān)閉。
--show-modules-output=PATH
??--show-modules
的輸出位置,應(yīng)該是一個文件名。默認(rèn)是標(biāo)準(zhǔn)輸出。
--verbose
輸出所采取操作的詳細信息,尤其是優(yōu)化方面??梢宰兊煤芏唷DJ(rèn)關(guān)閉。
--verbose-output=PATH
??--verbose
的輸出位置,應(yīng)該是一個文件名。默認(rèn)是標(biāo)準(zhǔn)輸出。
一般的 OS 控制:
--disable-console
當(dāng)為 Windows 或 macOS 編譯時,禁用控制臺窗口并創(chuàng)建 GUI 應(yīng)用程序。默認(rèn)關(guān)閉。
--enable-console
當(dāng)為 Windows 或 macOS 編譯時,啟用控制臺窗口并創(chuàng)建控制臺應(yīng)用程序。這會禁用某些模塊的提示,例如“PySide”,它建議禁用它。默認(rèn)為 true。
--force-stdout-spec=FORCE_STDOUT_SPEC
??強制程序的標(biāo)準(zhǔn)輸出到此位置。對于禁用了控制臺的程序以及使用 Nuitka商業(yè)版的 Windows 服務(wù)插件的程序很有用。默認(rèn)不活動,例如使用'%PROGRAM%.out.txt',即靠近程序的文件。
--force-stderr-spec=FORCE_STDERR_SPEC
??強制程序的標(biāo)準(zhǔn)錯誤輸出到此位置。對于禁用了控制臺的程序以及使用 Nuitka商業(yè)版的 Windows 服務(wù)插件的程序很有用。默認(rèn)不活動,例如使用'%PROGRAM%.err.txt',即靠近程序的文件。
Windows 特有的控制:
--windows-icon-from-ico=ICON_PATH
??添加可執(zhí)行文件圖標(biāo)??梢远啻谓o定不同分辨率或包含多個圖標(biāo)的文件。在后一種情況下,您還可以用 #<n> 作為后綴,其中 n 是從 1 開始的整數(shù)索引,指定要包含的特定圖標(biāo),忽略所有其他圖標(biāo)。
--windows-icon-from-exe=ICON_EXE_PATH
??從這個已存在的可執(zhí)行文件(僅Windows)復(fù)制可執(zhí)行文件圖標(biāo)。
--onefile-windows-splash-screen-image=SPLASH_SCREEN_IMAGE
??當(dāng)為 Windows 和 onefile 編譯時,加載應(yīng)用程序時顯示此內(nèi)容。默認(rèn)關(guān)閉。
--windows-uac-admin
??請求 Windows 用戶控制,在執(zhí)行時授予管理權(quán)限。(僅Windows)。默認(rèn)關(guān)閉。
--windows-uac-uiaccess
??請求 Windows 用戶控制,強制僅從少數(shù)文件夾運行,遠程桌面訪問。(僅Windows)。默認(rèn)關(guān)閉。
--windows-disable-console
用于關(guān)閉 Windows 平臺下運行時的控制臺窗口顯示。
macOS 特定的控制:
--macos-target-arch=MACOS_TARGET_ARCH
??這應(yīng)該在哪些體系結(jié)構(gòu)上運行。默認(rèn)和限制是運行 Python 允許的。默認(rèn)是“native”,即用來運行 Python 的體系結(jié)構(gòu)。
--macos-create-app-bundle
??當(dāng)為 macOS 編譯時,創(chuàng)建一個包而不是一個普通的二進制應(yīng)用程序。目前還在實驗和不完整。目前這是解鎖禁用控制臺的唯一方法。默認(rèn)關(guān)閉。
--macos-app-icon=ICON_PATH
??為應(yīng)用程序包添加圖標(biāo)。只能給一次。默認(rèn)為可用的 Python 圖標(biāo)。
--macos-signed-app-name=MACOS_SIGNED_APP_NAME
??用于 macOS 簽名的應(yīng)用程序名稱。遵循 “com.YourCompany.AppName” 命名約定可以獲得最佳效果,因為這些必須是全局唯一的,并有可能授予受保護的 API 訪問權(quán)限。
--macos-app-name=MACOS_APP_NAME
??要在 macOS 包信息中使用的產(chǎn)品名稱。默認(rèn)為二進制文件的基本文件名。
--macos-app-mode=MODE
??應(yīng)用程序包的應(yīng)用模式。當(dāng)啟動窗口并希望出現(xiàn)在 Docker 中時,默認(rèn)值“gui”很合適。如果從不啟動窗口,應(yīng)用程序是一個“后臺”應(yīng)用程序。對于稍后顯示的 UI 元素,“ui-element” 介于兩者之間。該應(yīng)用程序不會出現(xiàn)在 dock 中,但在打開窗口時可以完全訪問桌面。
--macos-sign-identity=MACOS_APP_VERSION
??在 macOS 上簽名時,默認(rèn)情況下將使用臨時標(biāo)識,但使用此選項可以指定要使用的其他標(biāo)識。代碼簽名在 macOS 上現(xiàn)在是強制性的,不能禁用。如果未給出,默認(rèn)為“臨時”。
--macos-sign-notarization
??在為公證簽名時,使用來自 Apple 的適當(dāng) TeamID 標(biāo)識,使用所需的運行時簽名選項,以便可以被接受。
--macos-app-version=MACOS_APP_VERSION
??要在 macOS 包信息中使用的產(chǎn)品版本。如果未給出,默認(rèn)為“1.0”。
--macos-app-protected-resource=RESOURCE_DESC
??請求訪問 macOS 保護資源的權(quán)限,例如 "NSMicrophoneUsageDescription:Microphone access for recording audio." 請求麥克風(fēng)訪問權(quán)限并為用戶提供一個信息性文本,并解釋為什么需要它。冒號前是一個操作系統(tǒng)標(biāo)識符,用于訪問權(quán)限,然后是信息性文本。法律值可以在 上找到,該選項可以指定多次。默認(rèn)為空。
Linux 特定的控制:
--linux-icon=ICON_PATH
??為 onefile
二進制文件添加可執(zhí)行文件圖標(biāo)使用。只能給一次。默認(rèn)為可用的 Python
圖標(biāo)。
二進制版本信息:
--company-name=COMPANY_NAME
??要在版本信息中使用的公司名稱。默認(rèn)未使用。
--product-name=PRODUCT_NAME
??要在版本信息中使用的產(chǎn)品名稱。默認(rèn)為二進制文件的基本文件名。
--file-version=FILE_VERSION
??要在版本信息中使用的文件版本。必須是最多 4個數(shù)字的序列,例如 1.0 或 1.0.0.0,不允許更多數(shù)字,不允許字符串。默認(rèn)未使用。
--product-version=PRODUCT_VERSION
??要在版本信息中使用的產(chǎn)品版本。與文件版本相同的規(guī)則。默認(rèn)未使用。
--file-description=FILE_DESCRIPTION
??版本信息中使用的文件說明。目前僅 Windows。默認(rèn)為二進制文件名。
--copyright=COPYRIGHT_TEXT
??版本信息中使用的版權(quán)。目前僅 Windows。默認(rèn)不顯示。
--trademarks=TRADEMARK_TEXT
??版本信息中使用的商標(biāo)。目前僅 Windows。默認(rèn)不顯示。
插件控制:
--enable-plugin=PLUGIN_NAME
??啟用的插件。必須是插件名稱。使用'--plugin-list'查詢完整列表并退出。默認(rèn)為空。
--disable-plugin=PLUGIN_NAME
??禁用的插件。必須是插件名稱。使用 --plugin-list
查詢完整列表并退出。禁用大多數(shù)標(biāo)準(zhǔn)插件通常不是一個好主意。默認(rèn)為空。
--plugin-no-detection
??插件可以檢測它們是否可能被使用,然后您可以通過 --disable-plugin=plugin-that-warned
禁用警告,或者您可以使用此選項完全禁用該機制,這當(dāng)然也略微加快了編譯速度。默認(rèn)關(guān)閉。
--plugin-list
? ? ? 顯示所有可用插件的列表并退出。默認(rèn)關(guān)閉。
--user-plugin=PATH
??用戶插件的文件名??梢远啻谓o出。默認(rèn)為空。
--show-source-changes
??顯示編譯前對原始 Python
文件內(nèi)容的更改。主要用于開發(fā)插件。默認(rèn)為 False
。
'anti-bloat' 插件選項:
--show-anti-bloat-changes
??注釋插件所做的更改。
--noinclude-setuptools-mode=NOINCLUDE_SETUPTOOLS_MODE
??如果遇到 'setuptools' 或?qū)?,該怎么辦。這個包可以帶有依賴項變大,絕對應(yīng)該避免。還處理 'setuptools_scm'。
--noinclude-pytest-mode=NOINCLUDE_PYTEST_MODE
??如果遇到 'pytest' 導(dǎo)入,該怎么辦。這個包可以帶有依賴項變大,絕對應(yīng)該避免。還處理 'nose' 導(dǎo)入。
--noinclude-unittest-mode=NOINCLUDE_UNITTEST_MODE
??如果遇到 unittest 導(dǎo)入,該怎么辦。這個包可以帶有依賴項變大,絕對應(yīng)該避免。
--noinclude-IPython-mode=NOINCLUDE_IPYTHON_MODE
??如果遇到 IPython 導(dǎo)入,該怎么辦。這個包可以帶有依賴項變大,絕對應(yīng)該避免。
--noinclude-dask-mode=NOINCLUDE_DASK_MODE
??如果遇到 'dask' 導(dǎo)入,該怎么辦。這個包可以帶有依賴項變大,絕對應(yīng)該避免。
--noinclude-numba-mode=NOINCLUDE_NUMBA_MODE
??如果遇到 'numba' 導(dǎo)入,該怎么辦。這個包可以帶有依賴項變大,目前對獨立模式不起作用。這個包可以帶有依賴項變大,絕對應(yīng)該避免。
--noinclude-default-mode=NOINCLUDE_DEFAULT_MODE
??這實際上為上述選項提供了默認(rèn)的“警告”值,并可用于打開所有這些。
--noinclude-custom-mode=CUSTOM_CHOICES
??