原文(英文): https://pyinstaller.readthedocs.io/en/v3.3.1/usage.html
通用參數
參數名 描述 說明
-h 顯示幫助 無
-v 顯示版本號 無
–distpath 生成文件放在哪里 默認:當前目錄的dist文件夾內
–workpath 生成過程中的中間文件放在哪里 默認:當前目錄的build文件夾內
-y 如果dist文件夾內已經存在生成文件,則不詢問用戶,直接覆蓋 默認:詢問是否覆蓋
–upx-dir UPX_DIR 指定upx工具的目錄 默認:execution path
-a 不包含unicode支持 默認:盡可能支持unicode
–clean 在本次編譯開始時,清空上一次編譯生成的各種文件 默認:不清除
–log-level LEVEL 控制編譯時pyi打印的信息 一共有6個等級,由低到高分別為TRACE DEBUG INFO(默認) WARN ERROR CRITICAL。也就是默認清空下,不打印TRACE和DEBUG信息
與生成結果有關的參數
參數名 描述 說明
-D 生成one-folder的程序(默認) 生成結果是一個目錄,各種第三方依賴、資源和exe同時存儲在該目錄
-F 生成one-file的程序 生成結果是一個exe文件,所有的第三方依賴、資源和代碼均被打包進該exe內
–specpath 指定.spec文件的存儲路徑 默認:當前目錄
-n 生成的.exe文件和.spec的文件名 默認:用戶腳本的名稱,即main.py和main.spec
指定打包哪些資源、代碼
參數名 描述 說明
–add-data 打包額外資源 用法:pyinstaller main.py --add-data=src;dest。windows以;分割,linux以:分割
–add-binary 打包額外的代碼 用法:同–add-data。與–add-data不同的是,用binary添加的文件,pyi會分析它引用的文件並把它們一同添加進來
-p 指定額外的import路徑,類似於使用PYTHONPATH 參見PYTHONPATH
–hidden-import 打包額外py庫 pyi在分析過程中,有些import沒有正確分析出來,運行時會報import error,這時可以使用該參數
–additional-hooks-dir 指定用戶的hook目錄 hook用法參見其他,系統hook在PyInstaller\hooks目錄下
–runtime-hook 指定用戶runtime-hook 如果設置了此參數,則runtime-hook會在運行main.py之前被運行
–exclude-module 需要排除的module pyi會分析出很多相互關聯的庫,但是某些庫對用戶來說是沒用的,可以用這個參數排除這些庫,有助於減少生成文件的大小
–key pyi會存儲字節碼,指定加密字節碼的key 16位的字符串
生成參數
參數名 描述 說明
-d 執行生成的main.exe時,會輸出pyi的一些log,有助於查錯 默認:不輸出pyi的log
-s 優化符號表 原文明確表示不建議在windows上使用
–noupx 強制不使用upx 默認:盡可能使用。
其他
參數名 描述 說明
–runtime-tmpdir 指定運行時的臨時目錄 默認:使用系統臨時目錄
Windows和Mac特有的參數
參數名 描述 說明
-c 顯示命令行窗口 與-w相反,默認含有此參數
-w 不顯示命令行窗口 編寫GUI程序時使用此參數有用。
-i 為main.exe指定圖標 pyinstaller -i beauty.ico main.py
Windows特有的參數
參數名 描述 說明
–version-file 添加版本信息文件 pyinstaller --version-file ver.txt
-m, --manifest 添加manifest文件 pyinstaller -m main.manifest
-r RESOURCE 請參考原文
–uac-admin 請參考原文
–uac-uiaccess 請參考原文
加載靜態文件的方法 pyinstaller -D --add-data "templates;templates" --add-data "data;data" main.py