前言:
Python 語言的設計變得越來越簡單,它有很多可以使用的庫,所以尤其在人工智能時代,Python語言被廣泛應用。但是Python語言和windows系統的兼容性稍微偏弱,如何生成windows可以執行的exe文件。是要一個很復雜的配置過程,本文就會做一個介紹。
本文,通過一個Python YOLOv8項目的打包實踐,將pycharm里面如何運用pyinstaller的工具進行項目打包和配置的中級用法進行了說明和實際例子的實踐。
1 工具介紹
1.1 PyInstaller
PyInstaller 是一款用于將 Python 腳本打包為獨立可執行文件(如 .exe
、.app
等)的工具,支持 Windows、macOS 和 Linux 系統。它的核心作用是解決 Python 程序「依賴環境」的問題 —— 打包后生成的可執行文件無需用戶安裝 Python 解釋器或相關庫,即可直接運行,極大簡化了程序的分發和使用流程。
PyInstaller 是 Python 程序分發的實用工具,通過簡單命令即可將腳本打包為獨立可執行文件。基礎使用只需掌握 --onefile
、--add-data
等核心參數;復雜項目可通過 .spec
文件精細配置資源、依賴等,解決打包中的路徑、依賴缺失等問題。
一、核心功能與優勢
-
跨平臺支持
可在 Windows(生成.exe
)、macOS(生成.app
)、Linux(生成 ELF 格式可執行文件)上運行,且能為不同系統交叉編譯(需特定環境配置)。 -
兩種打包模式
- 單文件模式(
--onefile
):所有依賴(代碼、庫、資源文件)被壓縮到一個獨立的可執行文件中,方便傳輸,但運行時會臨時解壓到系統臨時目錄,啟動速度略慢。 - 文件夾模式(默認,
--onedir
):生成一個包含可執行文件和所有依賴文件的文件夾,啟動速度快,但分發時需整個文件夾傳遞。
- 單文件模式(
-
自動處理依賴
自動分析 Python 腳本中的import
語句,追蹤所有依賴的模塊(包括標準庫、第三方庫)和二進制文件(如.dll
、.so
),并打包到最終文件中。 -
支持資源文件打包
可通過配置將圖片、配置文件(如.yaml
、.json
)、數據文件等非代碼資源打包到可執行文件中,確保程序運行時能正確讀取
二、基本使用流程
2.1.安裝
通過 pip 安裝:
pip install pyinstaller
2.2.基礎打包命令
- 打包單個腳本(默認文件夾模式):
pyinstaller main.py
- 單文件模式打包:
pyinstaller --onefile main.py
2.3 生成文件說明
執行命令后,會生成以下文件 / 文件夾:
dist/
:存放最終的可執行文件(或文件夾)。build/
:打包過程中的臨時文件(可刪除)。main.spec
:打包配置文件(可手動修改高級配置)。
三、關鍵參數與配置
PyInstaller 的參數可通過命令行或 .spec
文件配置,常用核心參數如下:
類別 | 參數 / 配置項 | 作用說明 |
---|---|---|
打包模式 | --onefile | 單文件模式,所有內容合并為一個 .exe |