Python打包EXE的極簡(jiǎn)指南
3 分鐘搞定,零廢話,直接上手;先看效果

一、為什么需要打包?
同事電腦沒(méi)裝 Python?客戶看不懂命令行?一個(gè) .exe 文件,雙擊就能跑,告別"在我電腦上明明是好的"。
二、安裝工具
一行命令搞定:
pip install pyinstaller
驗(yàn)證是否成功:
pyinstaller --version

三、核心命令(記這 3 個(gè)就夠了)
| 場(chǎng)景 | 命令 |
|---|---|
| 最簡(jiǎn)打包(文件夾形式) | pyinstaller main.py |
| 單文件(推薦) | pyinstaller -F main.py |
| GUI 程序無(wú)黑窗 | pyinstaller -F -w main.py |
| 加圖標(biāo) | pyinstaller -F -w -i app.ico main.py |

四、打包后文件在哪?
命令跑完后,打開(kāi)項(xiàng)目目錄:
你的項(xiàng)目/ ├── dist/ ← 可執(zhí)行文件在這里 │ └── main.exe ← 就是它 ├── build/ ← 臨時(shí)文件,可刪 └── main.spec ← 配置文件,高級(jí)玩法用

五、GUI 程序必看:資源文件怎么帶?
如果你的程序要讀取 config.json 或圖片,單文件模式下路徑會(huì)失效。復(fù)制下面這段代碼到項(xiàng)目里:
import sys, os
def resource_path(relative_path):
if hasattr(sys, '_MEIPASS'):
return os.path.join(sys._MEIPASS, relative_path)
return os.path.join(os.path.abspath("."), relative_path)
# 使用
config = resource_path("config.json")
打包命令加上數(shù)據(jù)文件:
pyinstaller -F --add-data "config.json;." main.py
六、常見(jiàn)問(wèn)題速查
| 問(wèn)題 | 解決 |
|---|---|
| 文件體積太大(幾百 MB) | 用 虛擬環(huán)境 打包,只裝必要依賴 |
運(yùn)行報(bào)錯(cuò) ModuleNotFoundError | pyinstaller --hidden-import=模塊名 main.py |
| 殺毒軟件誤報(bào) | 升級(jí) PyInstaller 到最新版 |
| 圖標(biāo)沒(méi)生效 | 必須是 .ico 格式,用在線轉(zhuǎn)換工具轉(zhuǎn)一下 |
七、不想敲命令?
裝個(gè)圖形化工具,點(diǎn)鼠標(biāo)就行:
pip install auto-py-to-exe auto-py-to-exe
自動(dòng)打開(kāi)配置頁(yè),勾選參數(shù)一鍵打包。

總結(jié)
- 裝:
pip install pyinstaller - 打:
pyinstaller -F -w main.py - 拿:去
dist文件夾取exe
搞定。
以上就是Python打包EXE的極簡(jiǎn)指南的詳細(xì)內(nèi)容,更多關(guān)于Python打包EXE的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實(shí)現(xiàn)查看系統(tǒng)啟動(dòng)項(xiàng)功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)查看系統(tǒng)啟動(dòng)項(xiàng)功能,涉及Python針對(duì)系統(tǒng)注冊(cè)表啟動(dòng)項(xiàng)的相關(guān)讀取操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05
Python使用Redis實(shí)現(xiàn)作業(yè)調(diào)度系統(tǒng)(超簡(jiǎn)單)
Redis作為內(nèi)存數(shù)據(jù)庫(kù)的一個(gè)典型代表,已經(jīng)在很多應(yīng)用場(chǎng)景中被使用,這里僅就Redis的pub/sub功能來(lái)說(shuō)說(shuō)怎樣通過(guò)此功能來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的作業(yè)調(diào)度系統(tǒng)。這里只是想展現(xiàn)一個(gè)簡(jiǎn)單的想法,所以還是有很多需要考慮的東西沒(méi)有包括在這個(gè)例子中,比如錯(cuò)誤處理,持久化等2016-03-03
Python結(jié)合PyQt5模擬實(shí)現(xiàn)微信程序聊天功能
這篇文章主要為大家詳細(xì)介紹了Python如何結(jié)合PyQt5模擬實(shí)現(xiàn)微信程序聊天功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-11-11
Python+OpenCV數(shù)字圖像處理之ROI區(qū)域的提取
ROI區(qū)域又叫感興趣區(qū)域。在機(jī)器視覺(jué)、圖像處理中,從被處理的圖像以方框、圓、橢圓、不規(guī)則多邊形等方式勾勒出需要處理的區(qū)域,稱為感興趣區(qū)域,ROI。本文主要為大家介紹如何通過(guò)Python+OpenCV提取ROI區(qū)域,需要的朋友可以了解一下2021-12-12
使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)做人臉識(shí)別的示例代碼
這篇文章主要介紹了使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)做人臉識(shí)別的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Pandas數(shù)據(jù)清洗與過(guò)濾空值技巧
在數(shù)據(jù)分析過(guò)程中,使用pandas庫(kù)進(jìn)行數(shù)據(jù)清洗和過(guò)濾空值是基本而重要的步驟,首先,導(dǎo)入pandas庫(kù)并加載數(shù)據(jù),其次,利用isnull()或isna()方法檢查數(shù)據(jù)中的空值,接著,可以使用dropna()方法過(guò)濾掉含有空值的行,或針對(duì)特定列過(guò)濾空值2024-09-09

