1,pyinstaller
簡單來說,就是把python腳本打包成exe文件。
2,安裝pyinstaller
pip3 install pyinstaller
3,注意事項
除非必要,否則盡量不要直接import module,用from xxx import xxx來代替,減少打包需要加載的模塊,
縮減最終的exe體積
4,用法
usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] [--add-data <SRC;DEST or SRC:DEST>] [--add-binary <SRC;DEST or SRC:DEST>] [-p DIR] [--hidden-import MODULENAME] [--additional-hooks-dir HOOKSPATH] [--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES] [--key KEY] [-d {all,imports,bootloader,noarchive}] [-s] [--noupx] [--upx-exclude FILE] [-c] [-w] [-i <FILE.ico or FILE.exe,ID or FILE.icns>] [--version-file FILE] [-m <FILE or XML>] [-r RESOURCE] [--uac-admin] [--uac-uiaccess] [--win-private-assemblies] [--win-no-prefer-redirects] [--osx-bundle-identifier BUNDLE_IDENTIFIER] [--runtime-tmpdir PATH] [--bootloader-ignore-signals] [--distpath DIR] [--workpath WORKPATH] [-y] [--upx-dir UPX_DIR] [-a] [--clean] [--log-level LEVEL] scriptname [scriptname ...]
positional arguments:
scriptname 要處理的腳本文件的名稱或正好一個.spec文件。 如果指定了.spec文件,則大多數選項是不必要的,將被忽略。
可選參數: -h,--help顯示此幫助消息並退出 -v,--version顯示程序版本信息並退出。 --distpath DIR放置捆綁的應用程序的位置(默認值:。\ dist) --workpath WORKPATH將所有臨時工作文件,.log,.pyz放在哪里 等(默認值:。\ build) -y,--noconfirm替換輸出目錄(默認值: SPECPATH \ dist \ SPECNAME)而不要求 確認 --upx-dir UPX_DIR UPX實用程序的路徑(默認值:搜索執行) 路徑) -a,-ascii不包括unicode編碼支持(默認值: 包括(如果有) --clean清理PyInstaller緩存並刪除臨時文件 在建造之前。 --log-level LEVEL生成時控制台消息中的詳細信息量。水平 可能是TRACE,DEBUG,INFO,WARN,ERROR, 嚴重(默認:INFO)。 產生什么: -D,--onedir創建一個包含可執行文件的單文件夾捆綁包 (默認) -F,--onefile創建一個文件捆綁的可執行文件。 --specpath DIR文件夾,用於存儲生成的規范文件(默認值: 當前目錄) -n NAME,--name NAME分配給捆綁的應用程序和規范文件的名稱 (默認值:第一個腳本的基本名稱) 捆綁內容,搜索位置: --add-data <SRC; DEST或SRC:DEST> 要添加到的其他非二進制文件或文件夾 可執行文件。路徑分隔符是平台 特定的`os.pathsep``(在Windows上是``;`` 和``:``在大多數Unix系統上)。這個選項 可以多次使用。 --add-binary <SRC; DEST或SRC:DEST> 要添加到可執行文件的其他二進制文件。 有關更多詳細信息,請參見--add-data選項。這個 該選項可以多次使用。 -p DIR,--paths DIR搜索導入的路徑(例如使用PYTHONPATH)。 允許使用多個路徑,以“;”分隔,或使用 此選項多次 --hidden-import MODULENAME,-hiddenimport MODULENAME 命名在代碼中不可見的導入 腳本。此選項可以多次使用。 --additional-hooks-dir HOOKSPATH 搜索鈎子的其他路徑。這個選項 可以多次使用。 --runtime-hook RUNTIME_HOOKS 定制運行時掛鈎文件的路徑。運行時掛鈎是 與可執行文件捆綁在一起的代碼是 在設置任何其他代碼或模塊之前執行 運行時環境的特殊功能。這個 該選項可以多次使用。 --exclude-module排除 可選模塊或軟件包(Python名稱,而不是 路徑名稱)將被忽略(好像不是) 找到)。此選項可以多次使用。 --key KEY用於加密Python字節碼的密鑰。 如何產生: -d {all,imports,bootloader,noarchive},--debug {all,imports,bootloader,noarchive} 提供調試凍結的協助 應用。可以多次提供此參數 選擇以下幾個選項的時間。 -全部:以下所有三個選項。 -導入:為基礎指定-v選項 Python解釋器,導致其打印消息 每次模塊初始化時,顯示 來源(文件名或內置模塊) 已加載。看到 https://docs.python.org/3/using/cmdline.html#id4。 -自舉程序:告訴自舉程序發出進度 初始化並啟動 捆綁的應用。用於診斷問題 缺少進口。 -存檔:而不是存儲所有凍結的Python 源文件作為結果中的存檔 可執行文件,將它們存儲為文件 輸出目錄。 -s,--strip將符號表條應用於可執行文件並 共享庫