亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用pyinstaller打包py文件的實現(xiàn)步驟

 更新時間:2025年03月19日 08:30:43   作者:無妄無望  
PyInstaller是一個用于將Python腳本打包成獨立可執(zhí)行文件的工具,本文主要介紹了使用pyinstaller打包py文件,具有一定的參考價值,感興趣的可以了解一下

1、是什么

PyInstaller 是一個用于將 Python 腳本打包成獨立可執(zhí)行文件的工具。它支持跨平臺打包,可以在 Windows、macOS 和 Linux 系統(tǒng)上使用。PyInstaller 會自動處理腳本的依賴項,并將它們打包到一個可執(zhí)行文件或一個包含所有文件的目錄中。

功能特點

  • 跨平臺支持:可以在 Windows、macOS 和 Linux 系統(tǒng)上使用。
  • 自動處理依賴項:自動分析腳本的依賴項,并將它們打包到可執(zhí)行文件中。
  • 生成單個可執(zhí)行文件:可以將所有依賴項打包到一個單獨的可執(zhí)行文件中,方便分發(fā)。
  • 支持多種打包選項:可以指定窗口化應(yīng)用、隱藏控制臺窗口等選項。

2.怎么用 

2.1基本用法

1. 生成可執(zhí)行文件:

在終端或命令提示符中導(dǎo)航到包含 Python 腳本的目錄,然后運行以下命令:

pyinstaller script_name.py

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

2. 生成單個可執(zhí)行文件:

如果想將所有依賴項打包到一個單獨的可執(zhí)行文件中,可以使用 `-F` 或 `--onefile` 選項:

pyinstaller -F script_name.py

3. 指定輸出目錄:

如果想指定輸出目錄,可以使用 `-o` 或 `--distpath` 選項:

 pyinstaller -F -o output_directory script_name.py

4. 隱藏控制臺窗口:

如果打包的是 GUI 應(yīng)用程序,并且不想顯示控制臺窗口,可以使用 `-w` 或 `--windowed` 選項:

pyinstaller -F -w script_name.py

2.2高級選項

- 添加圖標(biāo):可以使用 `--icon` 選項為可執(zhí)行文件添加圖標(biāo):

pyinstaller -F --icon=icon.ico script_name.py

- 指定臨時文件目錄:可以使用 `--workpath` 選項指定臨時文件目錄:

pyinstaller -F --workpath=build_directory script_name.py

- 排除不需要的模塊:可以使用 `--exclude-module` 選項排除不需要的模塊:

pyinstaller -F --exclude-module=module_name script_name.py

3、示例

3.1 單個文件打包

(1)打包命令:

在終端,main.py文件所在文件夾和環(huán)境

pyinstaller -F main.py

打包成功

(2)修改main.spec配置文件

中括號中是你的py文件,pathex中是你文件躲在的絕對路徑

(3)執(zhí)行main.spec配置文件

pyinstaller main.spec

 3.2 多個文件的示例

(1)與單個文件相同

(2)修改spec配置文件

① 所有需要的py文件和絕對路徑

②  所有資源存在data  
data是一個列表,數(shù)據(jù)存放以二元組形式存放,前面的是數(shù)據(jù)名稱,后面的是相對于predict_tinajin.py當(dāng)前目錄的路徑。  

③  最好在exe文件所在目錄打開終端運行exe文件,這樣即使報錯也不會一閃而過。一般是報錯或者exe執(zhí)行完終端界面就會消失,在所在路徑的地方運行就不會

4、關(guān)于spec更詳細(xì)的信息

當(dāng)然,以下是對 .spec 文件中給出的 PyInstaller 配置的逐行解釋:

a = Analysis(
    ['predict_tianjin.py'],  # 1
    pathex=[],               # 2
    binaries=[],             # 3
    datas=[],                # 4
    hiddenimports=[],        # 5
    hookspath=[],            # 6
    hooksconfig={},          # 7
    runtime_hooks=[],        # 8
    excludes=[],             # 9
    noarchive=False,         # 10
    optimize=0,              # 11
)
pyz = PYZ(a.pure)  # 12
exe = EXE(
    pyz,                     # 13
    a.scripts,               # 14
    a.binaries,              # 15
    a.datas,                 # 16
    [],                      # 17
    name='predict_tianjin',  # 18
    debug=False,             # 19
    bootloader_ignore_signals=False,  # 20
    strip=False,             # 21
    upx=True,                # 22
    upx_exclude=[],          # 23
    runtime_tmpdir=None,     # 24
    console=True,            # 25
    disable_windowed_traceback=False,  # 26
    argv_emulation=False,    # 27
    target_arch=None,        # 28
    codesign_identity=None,  # 29
    entitlements_file=None,  # 30
)

解釋:

['predict_tianjin.py']: 這是主腳本文件的路徑列表,PyInstaller 將從這個腳本開始分析依賴項。

pathex=[]: 這是額外的路徑列表,PyInstaller 將在此列表中的路徑中搜索模塊。

binaries=[]: 這是包含非 Python 二進(jìn)制文件的元組列表,格式為 (src, dest),其中 src 是打包文件的路徑,dest 是打包文件在可執(zhí)行文件中的路徑。

datas=[]: 這是包含數(shù)據(jù)文件的元組列表,格式與 binaries 相同。

hiddenimports=[]: 這是需要隱式導(dǎo)入的模塊列表,這些模塊可能沒有在腳本中直接導(dǎo)入,但需要包含在打包中。

hookspath=[]: 這是包含 PyInstaller 鉤子文件的路徑列表,這些鉤子文件用于處理特定模塊的打包需求。

hooksconfig={}: 這是鉤子配置的字典,用于傳遞配置選項給鉤子。

runtime_hooks=[]: 這是運行時鉤子腳本的路徑列表,這些腳本將在程序開始執(zhí)行之前運行。

excludes=[]: 這是將被排除在打包之外的模塊列表。

noarchive=False: 如果設(shè)置為 True,則不會創(chuàng)建 Python 庫歸檔文件,而是將它們作為單獨的文件包含。

optimize=0: 設(shè)置 Python 優(yōu)化級別,0 表示不優(yōu)化,1 表示去除斷言,2 表示優(yōu)化字節(jié)碼。

pyz = PYZ(a.pure): 創(chuàng)建一個 PYZ 對象,這是一個包含所有純 Python 代碼(不包含二進(jìn)制擴展)的壓縮包。

13-30. exe = EXE(...): 創(chuàng)建一個可執(zhí)行文件對象,包含以下參數(shù):

- pyz: 上一步創(chuàng)建的 PYZ 對象。

- a.scripts: 由 Analysis 對象確定的腳本列表。

- a.binaries: 由 Analysis 對象確定的二進(jìn)制文件列表。

- a.datas: 由 Analysis 對象確定的數(shù)據(jù)文件列表。

- []: 不明參數(shù),通常為空列表。

- name='predict_tianjin': 生成的可執(zhí)行文件的基本名稱。

- debug=False: 如果設(shè)置為 True,則生成調(diào)試信息。

- bootloader_ignore_signals=False: 控制是否讓引導(dǎo)加載程序忽略信號。

- strip=False: 如果設(shè)置為 True,則從二進(jìn)制文件中移除符號信息。

- upx=True: 如果設(shè)置為 True,則使用 UPX 壓縮可執(zhí)行文件。

- upx_exclude=[]: 不使用 UPX 壓縮的文件列表。

- runtime_tmpdir=None: 運行時的臨時目錄。

- console=True: 如果設(shè)置為 True,則創(chuàng)建控制臺應(yīng)用程序。

- disable_windowed_traceback=False: 控制是否禁用窗口化的回溯。

- argv_emulation=False: 控制是否啟用 argv 模擬。

- target_arch=None: 指定目標(biāo)架構(gòu),例如 'x86' 或 'x64'。

- codesign_identity=None: 用于代碼簽名的標(biāo)識。

到此這篇關(guān)于使用pyinstaller打包py文件的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)pyinstaller打包py內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 使用Python實現(xiàn)Wake On Lan遠(yuǎn)程開機功能

    使用Python實現(xiàn)Wake On Lan遠(yuǎn)程開機功能

    這篇文章主要介紹了使用Python實現(xiàn)Wake On Lan遠(yuǎn)程開機功能,文中給大家補充介紹了python通過wakeonlan喚醒內(nèi)網(wǎng)電腦開機,非常不錯,感興趣的朋友跟隨小編一起學(xué)習(xí)吧
    2020-01-01
  • pygame可視化幸運大轉(zhuǎn)盤實現(xiàn)

    pygame可視化幸運大轉(zhuǎn)盤實現(xiàn)

    這篇文章主要介紹了pygame可視化幸運大轉(zhuǎn)盤實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python利用Turtle繪制虎年圖像

    Python利用Turtle繪制虎年圖像

    2022年是農(nóng)歷壬寅虎年,在自然界中,虎有“百獸之王”之稱。本文也將利用Python中的Turtle繪制一個卡通的虎年圖像,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • OpenCV物體跟蹤樹莓派視覺小車實現(xiàn)過程學(xué)習(xí)

    OpenCV物體跟蹤樹莓派視覺小車實現(xiàn)過程學(xué)習(xí)

    這篇文章主要介紹了OpenCV物體跟蹤樹莓派視覺小車的實現(xiàn)過程學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • Python寫的Tkinter程序屏幕居中方法

    Python寫的Tkinter程序屏幕居中方法

    這篇文章主要介紹了Python寫的Tkinter程序屏幕居中方法,Tkinter是一個python模塊,是一個調(diào)用Tcl/Tk的接口,它是一個跨平臺的腳本圖形界面接口,需要的朋友可以參考下
    2015-03-03
  • Python讀寫文件基礎(chǔ)知識點

    Python讀寫文件基礎(chǔ)知識點

    在本篇文章中小編給大家整理了關(guān)于Python讀寫文件的基礎(chǔ)知識內(nèi)容,有興趣的朋友們跟著學(xué)習(xí)下。
    2019-06-06
  • Django框架安裝方法圖文詳解

    Django框架安裝方法圖文詳解

    這篇文章主要介紹了Django框架安裝方法,結(jié)合圖文與實例形式詳細(xì)分析了Django框架的下載、安裝簡單使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-11-11
  • 詳解python3 GUI刷屏器(附源碼)

    詳解python3 GUI刷屏器(附源碼)

    這篇文章主要介紹了詳解python3 GUI刷屏器(附源碼),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • 176萬!GPT-4發(fā)布詳解如何查看OpenAI的下載量

    176萬!GPT-4發(fā)布詳解如何查看OpenAI的下載量

    這篇文章主要為大家介紹了GPT-4發(fā)布如何查看OpenAI的下載量詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 通過Python腳本批量復(fù)制并規(guī)范命名視頻文件

    通過Python腳本批量復(fù)制并規(guī)范命名視頻文件

    本文介紹了如何通過Python腳本批量復(fù)制并規(guī)范命名視頻文件,實現(xiàn)自動補齊數(shù)字編號、保留原始文件、智能識別有效文件等功能,聽過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03

最新評論