最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python代碼打包為EXE最新指南

 更新時(shí)間:2026年03月01日 14:51:17   作者:likuolei  
本文對(duì)比了2026年最主流的幾種Python打包工具,并提供了PyInstaller和Nuitka的詳細(xì)使用流程和常見問題解決方法,需要的朋友可以參考下

目前最主流、最穩(wěn)定的幾種打包方式對(duì)比(按推薦順序):

排名工具優(yōu)點(diǎn)缺點(diǎn)/坑點(diǎn)適合場(chǎng)景推薦指數(shù) (2026)
1PyInstaller兼容性最好、社區(qū)最大、文檔最全生成的 exe 偏大、啟動(dòng)稍慢幾乎所有場(chǎng)景(首選)★★★★★
2Nuitka啟動(dòng)速度最快、文件體積較小、接近原生性能編譯時(shí)間長(zhǎng)、對(duì)依賴處理更嚴(yán)格對(duì)啟動(dòng)速度敏感的項(xiàng)目★★★★☆
3cx_Freeze跨平臺(tái)支持好、配置靈活社區(qū)活躍度低、文檔較老需要高度自定義打包邏輯★★★☆☆
4PyOxidizer極致體積優(yōu)化、Rust 底層配置復(fù)雜、生態(tài)不成熟極致追求小體積的場(chǎng)景★★☆☆☆
5Shiv / PEX生成 .pex 文件(類似 jar),不生成 exe需要 Python 環(huán)境才能運(yùn)行服務(wù)器/內(nèi)部工具分發(fā)(非桌面程序)★★☆☆☆

絕大多數(shù)人(尤其是 Windows 桌面程序)2026 年仍然首選:PyInstaller

下面給出最實(shí)操的完整流程(以 PyInstaller 為主,附 Nuitka 補(bǔ)充)。

一、PyInstaller 完整打包流程(推薦)

步驟 1:環(huán)境準(zhǔn)備

# 建議使用干凈的虛擬環(huán)境
python -m venv pack-env
# Windows
pack-env\Scripts\activate
# macOS/Linux
source pack-env/bin/activate

# 安裝最新版(2026 年建議 ≥ 6.0)
pip install --upgrade pyinstaller

步驟 2:寫一個(gè)最簡(jiǎn)單的測(cè)試程序(main.py)

# main.py
import sys
import tkinter as tk
from tkinter import messagebox

def main():
    root = tk.Tk()
    root.title("我的第一個(gè)打包程序")
    root.geometry("400x300")

    label = tk.Label(root, text="Hello from EXE!", font=("微軟雅黑", 16))
    label.pack(pady=50)

    btn = tk.Button(root, text="點(diǎn)我", command=lambda: messagebox.showinfo("提示", "打包成功!"))
    btn.pack()

    root.mainloop()

if __name__ == "__main__":
    main()

步驟 3:第一次打包(最簡(jiǎn)單方式)

# 單文件模式(推薦給新手)
pyinstaller -F main.py

# 常用參數(shù)組合(強(qiáng)烈推薦)
pyinstaller -F \
    --noconfirm \
    --clean \
    --windowed \              # 無控制臺(tái)窗口(GUI程序必加)
    --icon=app.ico \          # 可選:自定義圖標(biāo)
    --name=MyNoteApp \        # exe 文件名
    --add-data "data;data" \  # 如果有資源文件夾(注意分號(hào)是 Windows 用,Linux/macOS 用冒號(hào))
    main.py

打包完成后,文件出現(xiàn)在:

dist/
└── MyNoteApp.exe     ← 這就是最終的 exe

步驟 4:常見問題 & 解決方案(2026 年高頻坑)

問題原因解決方案(最有效寫法)
exe 啟動(dòng)閃退缺少依賴 / 路徑錯(cuò)誤--log-level=DEBUG 看日志;或用 --onedir 先測(cè)試
第三方庫(如 pandas、pytorch)打包失敗hook 不全pip install pyinstaller-hooks-contrib;必要時(shí)手動(dòng)寫 .spec 文件
中文路徑/文件名亂碼編碼問題腳本保存為 UTF-8;打包時(shí)加 --utf8(較新版本支持)
exe 體積過大(100MB+)打包了整個(gè) site-packages--exclude-module 排除無用模塊;用 UPX 壓縮(--upx-dir
殺毒軟件報(bào)毒特征碼誤殺正?,F(xiàn)象,用 --noupx 關(guān)閉壓縮;或提交文件給殺毒廠商白名單
tkinter / PyQt 等 GUI 黑屏/不顯示缺少資源--add-data "tcl;tcl"--add-data "tk;tk"(tkinter 常見)

步驟 5:推薦的完整 .spec 文件寫法(進(jìn)階)

# myapp.spec
# 運(yùn)行一次 pyinstaller main.py 后會(huì)自動(dòng)生成 .spec 文件,修改后用下面命令重新打包:
# pyinstaller myapp.spec

block_cipher = None

a = Analysis(
    ['main.py'],
    pathex=[],
    binaries=[],
    datas=[('images/*', 'images'), ('config.yaml', '.')],
    hiddenimports=['PIL._tkinter_finder'],  # tkinter + pillow 常見補(bǔ)丁
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=['torch', 'tensorflow'],       # 排除掉不需要的重量級(jí)庫
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
)

pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    [],
    name='我的記事本',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,                    # 需要先安裝 UPX
    console=False,               # GUI 程序設(shè)為 False
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon='app.ico',
)

二、Nuitka 快速補(bǔ)充(追求速度時(shí)用)

pip install nuitka

# 最常用命令(單文件 + 優(yōu)化)
python -m nuitka \
    --standalone \
    --onefile \
    --windows-disable-console \
    --include-package-data=tkinter \
    --windows-icon-from-ico=app.ico \
    --output-dir=dist \
    main.py

Nuitka vs PyInstaller 啟動(dòng)速度對(duì)比(實(shí)測(cè)平均值,2026 年數(shù)據(jù)):

  • PyInstaller 單文件:?jiǎn)?dòng) 3–8 秒
  • Nuitka 單文件:?jiǎn)?dòng) 0.5–2 秒(明顯更快)

三、2026 年最務(wù)實(shí)建議總結(jié)

需求推薦工具一句話命令建議
最簡(jiǎn)單、最穩(wěn)PyInstallerpyinstaller -F --windowed --name=MyApp main.py
啟動(dòng)速度最重要Nuitkapython -m nuitka --onefile --windows-disable-console main.py
體積最小Nuitka + UPX--enable-plugin=upx
有大量第三方庫(pandas等)PyInstaller先用 --onedir 測(cè)試,再轉(zhuǎn)單文件
需要開控制臺(tái)(命令行工具)PyInstaller去掉 --windowed / --noconsole

需要我?guī)湍汜槍?duì)某個(gè)具體項(xiàng)目(比如帶 pandas、帶 tkinter、帶 requests、帶 PyQt6 等)寫出最優(yōu)的打包命令嗎?
或者你現(xiàn)在遇到什么打包報(bào)錯(cuò)/閃退問題?直接貼出來,我?guī)湍惴治觥?/p>

以上就是Python代碼打包為EXE最新指南的詳細(xì)內(nèi)容,更多關(guān)于Python代碼打包為EXE的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • parser.add_argument中的action使用

    parser.add_argument中的action使用

    這篇文章主要介紹了parser.add_argument中的action使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python3第三方爬蟲庫BeautifulSoup4安裝教程

    python3第三方爬蟲庫BeautifulSoup4安裝教程

    這篇文章主要為大家詳細(xì)介紹了python3第三方爬蟲庫BeautifulSoup4的安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 使用Python在Excel中插入、修改、提取和刪除超鏈接

    使用Python在Excel中插入、修改、提取和刪除超鏈接

    超鏈接是Excel中的常用功能,通過點(diǎn)擊超鏈接可以快速跳轉(zhuǎn)到外部網(wǎng)站、本地文件或工作表中的特定單元格,有效提升數(shù)據(jù)訪問的效率和用戶體驗(yàn),這篇博客將詳細(xì)介紹如何使用Python在Excel中插入、修改、提取和刪除超鏈接,需要的朋友可以參考下
    2025-02-02
  • 使用Python實(shí)現(xiàn)將Excel表格插入到Word文檔中

    使用Python實(shí)現(xiàn)將Excel表格插入到Word文檔中

    在日常辦公場(chǎng)景中,通過Python腳本自動(dòng)化整合Excel數(shù)據(jù)與Word文檔,能夠?qū)崿F(xiàn)表格的智能遷移,滿足不同場(chǎng)景下數(shù)據(jù)呈現(xiàn)的專業(yè)性要求,下面小編就來為大家介紹一下具體實(shí)現(xiàn)的三種方法吧
    2025-03-03
  • Python獲取當(dāng)前腳本文件夾(Script)的絕對(duì)路徑方法代碼

    Python獲取當(dāng)前腳本文件夾(Script)的絕對(duì)路徑方法代碼

    在本篇文章中小編給各位整理了關(guān)于Python獲取當(dāng)前腳本文件夾(Script)的絕對(duì)路徑實(shí)例代碼內(nèi)容,有需要的朋友們學(xué)習(xí)下。
    2019-08-08
  • Python RabbitMQ實(shí)現(xiàn)簡(jiǎn)單的進(jìn)程間通信示例

    Python RabbitMQ實(shí)現(xiàn)簡(jiǎn)單的進(jìn)程間通信示例

    這篇文章主要介紹了Python RabbitMQ實(shí)現(xiàn)簡(jiǎn)單的進(jìn)程間通信示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python處理文本換行符實(shí)例代碼

    Python處理文本換行符實(shí)例代碼

    這篇文章主要介紹了Python處理文本換行符實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • python實(shí)現(xiàn)貝葉斯推斷的例子

    python實(shí)現(xiàn)貝葉斯推斷的例子

    本文介紹一個(gè)貝葉斯推斷的python實(shí)現(xiàn),并展現(xiàn)了基于標(biāo)量運(yùn)算的實(shí)現(xiàn)和基于numpy的矩陣運(yùn)算的實(shí)現(xiàn)之間的差別,感興趣的可以了解一下
    2021-09-09
  • 一文掌握Python正則表達(dá)式

    一文掌握Python正則表達(dá)式

    這篇文章主要介紹了Python正則表達(dá)式的相關(guān)知識(shí),主要包括re模塊的使用及正則表達(dá)式基礎(chǔ)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 關(guān)于numpy.concatenate()函數(shù)的使用及說明

    關(guān)于numpy.concatenate()函數(shù)的使用及說明

    這篇文章主要介紹了關(guān)于numpy.concatenate()函數(shù)的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評(píng)論

砚山县| 海丰县| 疏勒县| 金湖县| 双城市| 宝清县| 定日县| 远安县| 虎林市| 湘潭市| 乌拉特后旗| 安达市| 景泰县| 赣州市| 丁青县| 临汾市| 汉川市| 敦煌市| 黄浦区| 香河县| 洪泽县| 密云县| 张家港市| 成武县| 彭州市| 读书| 瑞昌市| 建阳市| 金乡县| 南康市| 萨迦县| 内黄县| 化隆| 左贡县| 盘山县| 孙吴县| 霞浦县| 凯里市| 东丰县| 厦门市| 乌鲁木齐市|