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

Python代碼打包為EXE最新指南

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

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

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

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

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

一、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:寫一個最簡單的測試程序(main.py)

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

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

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

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

    root.mainloop()

if __name__ == "__main__":
    main()

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

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

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

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

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

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

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

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

# myapp.spec
# 運行一次 pyinstaller main.py 后會自動生成 .spec 文件,修改后用下面命令重新打包:
# pyinstaller myapp.spec

block_cipher = None

a = Analysis(
    ['main.py'],
    pathex=[],
    binaries=[],
    datas=[('images/*', 'images'), ('config.yaml', '.')],
    hiddenimports=['PIL._tkinter_finder'],  # tkinter + pillow 常見補丁
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=['torch', 'tensorflow'],       # 排除掉不需要的重量級庫
    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 快速補充(追求速度時用)

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 啟動速度對比(實測平均值,2026 年數(shù)據(jù)):

  • PyInstaller 單文件:啟動 3–8 秒
  • Nuitka 單文件:啟動 0.5–2 秒(明顯更快)

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

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

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

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

相關(guān)文章

  • parser.add_argument中的action使用

    parser.add_argument中的action使用

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

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

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

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

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

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

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

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

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

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

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

    Python處理文本換行符實例代碼

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

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

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

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

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

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

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

最新評論

忻州市| 淳化县| 武宁县| 漳浦县| 改则县| 廊坊市| 玉环县| 东乌| 南宁市| 同心县| 科技| 松原市| 丰城市| 陆河县| 芒康县| 长岛县| 宿迁市| 嘉善县| 汤原县| 海宁市| 西乌珠穆沁旗| 霍林郭勒市| 义乌市| 东丽区| 麦盖提县| 谢通门县| 南溪县| 新龙县| 宁化县| 文水县| 通道| 自治县| 临清市| 阿城市| 民县| 新河县| 丹寨县| 泰和县| 吴忠市| 安新县| 绥棱县|