欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

將python flask項目打包成可以運行的軟件的全過程(包含報錯解決)

 更新時間:2024年02月19日 11:04:39   作者:無乎648  
這篇文章主要給大家介紹了將python flask項目打包成可以用運行的軟件(包含報錯解決),文中通過代碼示例和圖文結(jié)合講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下

將python flask項目打包成可以用運行的軟件(包含報錯解決)

準備好要打包的flask項目,如下圖run.py文件的代碼

在這里插入圖片描述

導(dǎo)入打包函數(shù)庫pyinstaller

pip install pyinstaller

執(zhí)行打包指令,參數(shù)如下表所示

命令解釋
pyinstaller -F run.py只在dist文件夾中生成一個程序run.exe文件,適用于一個模塊沒有多依賴.py文件
pyinstaller -D run.py默認選項,除了主程序run.exe外,還會在在dist文件夾中生成很多依賴文件
pyinstaller -C run.py默認選項,只對windows有效,使用控制臺
pyinstaller -w run.py只對windows有效,不使用控制臺
pyinstaller -p D:\project\run.py設(shè)置導(dǎo)入路徑
pyinstaller -i D:\run.ico demo.py給生成的demo.exe文件設(shè)置一個自定義的圖標

推薦執(zhí)行

pyinstaller -D run.py

如果項目里的引入的函數(shù)庫很多的話需要執(zhí)行一段時間

執(zhí)行成功后會出現(xiàn)build和dist兩個文件夾和一個run.spec(這個文件后面會說明用處),并且在dist/run下有一個run.exe,這個就是打包好的flask項目的可執(zhí)行程序了,但是到這里還沒有結(jié)束,需要雙擊run.exe來測試是否打包成功,雙擊會出現(xiàn)兩種情況

①雙擊后產(chǎn)生如下的黑框框,那么說明打包程序沒有問題,可以正常啟動,這個時候可以使用api測試軟件來測試一下程序是否沒有問題。

在這里插入圖片描述

②雙擊后快速彈出了黑框框之后就消失了,說明打包程序有報錯,沒有辦法順利啟動,這個時候就需要去找到報錯原因了,

在Terminal中找到run.exe所在的目錄,執(zhí)行run.exe

在這里插入圖片描述

比如我這里就是產(chǎn)生了如下報錯

在這里插入圖片描述

通過看報錯原因可以知道代碼中少了damageLib.bases.damageState函數(shù)庫(其他項目也可能會出現(xiàn) No module named 'xxxxx’的報錯,解決辦法都是一樣的),所以需要到run.spec中來添加這個函數(shù)庫。

打開run.spec,可以看到如下

# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(
    ['run.py'],
    pathex=[],
    binaries=[],
    datas=[],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='run',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='run',
)

這里主要是在hiddenimports=[]中添加對應(yīng)的函數(shù)庫(如果項目中有需要用到其他文件夾的時候也會報錯,那么就在datas=[]中添加就行,示例如下datas=[(“yolo/*”,“yolo”) 意思就是把yolo文件夾打包到程序中)
因為剛才是缺少了damageLib.bases.damageState,那么這里就改成hiddenimports=[“damageLib.bases.damageState”]
這個時候重新打包需要用到的指令如下(在運行過程中需要輸入‘y’,因為要覆蓋之前打包失敗的文件)

pyinstaller run.spec

在這里插入圖片描述

之后的操作跟之前一樣,雙擊run.exe來看看程序能不能順利啟動,如果還會閃退黑框框,那么就再執(zhí)行上面的操作來找到報錯原因,直到最后能順利的啟動項目。

最后一步,使用nsis把文件夾打包成windows的安裝包

進入官網(wǎng)https://nsis.sourceforge.io/Download進行下載,這里建議使用外網(wǎng)下載。

在這里插入圖片描述

之后傻瓜式安裝。

在這里插入圖片描述

點擊進入這里,在此之前,要將之前項目中的dist/run下的所有文件壓縮成run.zip,隨后在這里加載剛才的run.zip,并點擊Generate后可以了(點擊之后會進入新的界面,這個界面會卡很久很久,一定要耐心等待,完成后會在dist文件夾下出現(xiàn)一個run軟件,把這個發(fā)送給別人安裝就可以順利執(zhí)行了)

在這里插入圖片描述

以上就是將python flask項目打包成可以運行的軟件的全過程(包含報錯解決)的詳細內(nèi)容,更多關(guān)于python flask項目打包的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 無法使用pip命令安裝python第三方庫的原因及解決方法

    無法使用pip命令安裝python第三方庫的原因及解決方法

    今天小編就為大家分享一篇無法使用pip命令安裝python第三方庫的原因及解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python中生成Epoch的方法

    Python中生成Epoch的方法

    下面小編就為大家?guī)硪黄狿ython中生成Epoch的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • python中pip安裝庫時出現(xiàn)Read?timed?out解決辦法

    python中pip安裝庫時出現(xiàn)Read?timed?out解決辦法

    最近需要使用pip庫,安裝的時候出現(xiàn)問題,本文就詳細的介紹一下python中pip安裝庫時出現(xiàn)Read?timed?out解決辦法,具有一定的參考價值,感興趣的可以了解一下
    2022-03-03
  • opencv python截取圓形區(qū)域的實現(xiàn)

    opencv python截取圓形區(qū)域的實現(xiàn)

    本文主要介紹了opencv python截取圓形區(qū)域的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 使用python實現(xiàn)一個簡單的圖片爬蟲

    使用python實現(xiàn)一個簡單的圖片爬蟲

    在本文中,我們將學(xué)習(xí)如何使用Python創(chuàng)建一個簡單的圖片爬蟲,我們將利用requests庫來發(fā)送HTTP請求,BeautifulSoup庫來解析HTML頁面,以及os和shutil庫來下載和保存圖片,通過這個教程,你將學(xué)會如何爬取網(wǎng)頁上的圖片并保存到本地,需要的朋友可以參考下
    2024-02-02
  • python 讀文件,然后轉(zhuǎn)化為矩陣的實例

    python 讀文件,然后轉(zhuǎn)化為矩陣的實例

    下面小編就為大家分享一篇python 讀文件,然后轉(zhuǎn)化為矩陣的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 使用Python3制作TCP端口掃描器

    使用Python3制作TCP端口掃描器

    本文給大家分享的是使用Python3 實現(xiàn)TCP全連接端口掃描器的制作過程,包括思路和代碼,非常簡單易懂,推薦給大家
    2017-04-04
  • tkinter禁用(只讀)下拉列表Combobox問題

    tkinter禁用(只讀)下拉列表Combobox問題

    這篇文章主要介紹了tkinter禁用(只讀)下拉列表Combobox問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python xml解析實例詳解

    python xml解析實例詳解

    這篇文章主要介紹了python xml解析實例詳解的相關(guān)資料,這里舉例說明如何實現(xiàn),需要的朋友可以參考下
    2016-11-11
  • Python文件和流(實例講解)

    Python文件和流(實例講解)

    下面小編就為大家?guī)硪黄狿ython文件和流(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論