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

PyInstaller將Python打包成windows可執(zhí)行的exe(細致版)

 更新時間:2026年01月31日 09:42:16   作者:小軟件大世界  
在開發(fā)?Python?應用程序時,有時我們需要將腳本打包成獨立的可執(zhí)行文件(.exe),下面小編就來和大家詳細介紹一下具體步驟,有需要的小伙伴可以了解下

在開發(fā) Python 應用程序時,有時我們需要將腳本打包成獨立的可執(zhí)行文件(.exe),以便于在沒有安裝 Python 環(huán)境的計算機上運行。本文將介紹如何使用 PyInstaller 工具將 Python 本打包成 Windows 可執(zhí)行文件。

1. 安裝 PyInstaller

首先,你需要安裝 PyInstaller。可以通過 pip 來安裝:

pip install pyinstaller

2. 準備你的 Python 腳本

假設你有一個名為 myapp.py 的 Python 腳本,內容如下:

import tkinter as tk

def on_button_click():
    label.config(text="Hello, World!")

root = tk.Tk()
root.title("My App")

label = tk.Label(root, text="Welcome to My App")
label.pack(pady=20)

button = tk.Button(root, text="Click Me", command=on_button_click)
button.pack(pady=10)

root.mainloop()

這個腳本使用 tkinter 庫創(chuàng)建了一個簡單的 GUI 應用程序。

3. 使用 PyInstaller 打包腳本

3.1 基本打包

打開命令行或終端,導航到包含 myapp.py 的目錄,然后運行以下命令:

pyinstaller myapp.py

這將生成一個 dist 目錄,其中包含可執(zhí)行文件和其他必要的文件。

3.2 單文件模式

為了生成一個單獨的可執(zhí)行文件,可以使用 --onefile 參數(shù):

pyinstaller --onefile myapp.py

3.3 設置圖標

如果你希望給生成的可執(zhí)行文件設置圖標,可以使用 --icon 參數(shù)。假設你有一個名為 myicon.ico 的圖標文件:

pyinstaller --onefile --icon=myicon.ico myapp.py

3.4 隱藏控制臺窗口

對于 GUI 應用程序,你可能不希望顯示控制臺窗口。可以使用 --noconsole 參數(shù)來隱藏控制臺窗口:

pyinstaller --onefile --noconsole --icon=myicon.ico myapp.py

3.5 添加數(shù)據(jù)文件

如果你的應用程序需要額外的數(shù)據(jù)文件,比如配置文件或資源文件,可以使用 --add-data 參數(shù)。例如,假設你有一個名為 config.ini 的配置文件:

pyinstaller --onefile --noconsole --icon=myicon.ico --add-data "config.ini;." myapp.py

這里的 config.ini;. 表示將 config.ini 文件復制到可執(zhí)行文件所在目錄的根目錄下。

4. 使用 .spec 文件進行高級配置

對于更復雜的項目,你可能需要更多的控制權。PyInstaller 提供了 .spec 文件來配置構建過程。

4.1 生成 .spec 文件

首次運行 PyInstaller 時,它會自動生成一個 .spec 文件。例如:

pyinstaller myapp.py

這將在當前目錄下生成一個 myapp.spec 文件。

4.2 編輯 .spec 文件

打開 myapp.spec 文件,你可以看到類似以下內容:

# -*- mode: python ; coding: utf-8 -*-

block_cipher = None

a = Analysis(
    ['myapp.py'],
    pathex=[],
    binaries=[],
    datas=[],
    hiddenimports=[],
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
    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,
    [],
    exclude_binaries=True,
    name='myapp',
    debug=False,
    strip=False,
    upx=True,
    console=False,
    icon='myicon.ico',
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='myapp',
)

你可以在這個文件中進行各種配置,例如添加數(shù)據(jù)文件、排除不必要的模塊等。

4.3 使用 .spec 文件構建

保存并關閉 .spec 文件后,使用以下命令進行構建:

pyinstaller myapp.spec

5.創(chuàng)建虛擬環(huán)境,減少打包文件文件大小

一般打包時,會將一些不必要的庫順帶一并打包進程序中,這會造成打包后的文件非常大,因此可以通過安裝一個虛擬環(huán)境來進行打包。

復制這個目錄。

然后,我們需要安裝兩個依賴包:

pip install virtualenv
pip install virtualenvwrapper-win

如果網(wǎng)絡不佳,可使用國內的鏡像庫進行安裝:

pip install virtualenv -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package

然后創(chuàng)建虛擬環(huán)境:

mkvirtualenv -p="C:\Users\jyw\AppData\Local\Programs\Python\Python311\python.exe" pyenv311

打開這個虛擬環(huán)境:

workon pyenv311

可以看到里面只有基本的庫。

然后我們去運行py文件,安裝缺失的必要庫,運行成功后再打包即可。

若要刪除虛擬環(huán)境,使用 rmvirtualenv 命令刪除虛擬環(huán)境:例如,要刪除名為 pyenv311 的虛擬環(huán)境,可以運行以下命令:

rmvirtualenv pyenv311

6. 測試生成的可執(zhí)行文件

構建完成后,進入 dist 目錄,運行生成的可執(zhí)行文件:

cd dist
myapp.exe

確保應用程序能夠正常運行,并且所有功能都能正常使用。

7. 分發(fā)可執(zhí)行文件

將 dist 目錄中的可執(zhí)行文件及其依賴文件(如果有)打包成一個壓縮包,發(fā)給需要用的人即可啦??!

到此這篇關于PyInstaller將Python打包成windows可執(zhí)行的exe(細致版)的文章就介紹到這了,更多相關PyInstaller打包Python內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 分享Python中四個不常見的小技巧

    分享Python中四個不常見的小技巧

    這篇文章主要介紹了分享Python中四個不常見的小技巧,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 基于Python自動化實現(xiàn)Word文檔專業(yè)排版

    基于Python自動化實現(xiàn)Word文檔專業(yè)排版

    在辦公自動化領域,用 Python 處理 Word 文檔已經(jīng)是非常成熟和高效的方案了,本文將和大家使用Python實現(xiàn)自動化Word文檔排版的相關知識,希望對大家有所幫助
    2026-05-05
  • python3.6環(huán)境安裝+pip環(huán)境配置教程圖文詳解

    python3.6環(huán)境安裝+pip環(huán)境配置教程圖文詳解

    這篇文章主要介紹了python3.6環(huán)境安裝+pip環(huán)境配置教程圖文詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Flask WTForms 表單插件的使用

    Flask WTForms 表單插件的使用

    本文主要介紹了Flask WTForms表單插件的使用,Python的WTForms庫通過提供表單的結構、驗證和渲染等功能,簡化了表單的處理流程,感興趣的可以了解一下
    2023-11-11
  • Python深度學習pytorch神經(jīng)網(wǎng)絡塊的網(wǎng)絡之VGG

    Python深度學習pytorch神經(jīng)網(wǎng)絡塊的網(wǎng)絡之VGG

    雖然AlexNet證明深層神經(jīng)網(wǎng)絡卓有成效,但它沒有提供一個通用的模板來指導后續(xù)的研究人員設計新的網(wǎng)絡。下面,我們將介紹一些常用于設計深層神經(jīng)網(wǎng)絡的啟發(fā)式概念
    2021-10-10
  • Python 內置函數(shù)globals()和locals()對比詳解

    Python 內置函數(shù)globals()和locals()對比詳解

    這篇文章主要介紹了Python globals()和locals()對比詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Python從零打造高安全密碼管理器

    Python從零打造高安全密碼管理器

    在數(shù)字化時代,每人平均需要管理近百個賬號密碼,本文將帶大家深入剖析一個基于Python的高安全性密碼管理器實現(xiàn)方案,感興趣的小伙伴可以參考一下
    2025-04-04
  • python調用matlab的方法詳解

    python調用matlab的方法詳解

    這篇文章主要為大家介紹了python調用matlab,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • python進階之多線程對同一個全局變量的處理方法

    python進階之多線程對同一個全局變量的處理方法

    今天小編就為大家分享一篇python進階之多線程對同一個全局變量的處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python內置數(shù)據(jù)類型之列表操作

    python內置數(shù)據(jù)類型之列表操作

    數(shù)據(jù)類型是一種值的集合以及定義在這種值上的一組操作。這篇文章主要介紹了python內置數(shù)據(jù)類型之列表的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11

最新評論

清远市| 吴桥县| 西乡县| 台北县| 小金县| 永年县| 安庆市| 衡东县| 姜堰市| 綦江县| 子长县| 伊宁县| 酒泉市| 南投市| 泽普县| 石柱| 太湖县| 阿拉善右旗| 南充市| 苗栗市| 富民县| 绥江县| 濉溪县| 南投县| 北流市| 西丰县| 陕西省| 莱州市| 旅游| 六枝特区| 兴国县| 潞城市| 腾冲县| 汉沽区| 英山县| 博罗县| 永泰县| 普格县| 乐清市| 石门县| 台北县|