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

將python flask項(xiàng)目打包成可以運(yùn)行的軟件的全過(guò)程(包含報(bào)錯(cuò)解決)

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

將python flask項(xiàng)目打包成可以用運(yùn)行的軟件(包含報(bào)錯(cuò)解決)

準(zhǔn)備好要打包的flask項(xiàng)目,如下圖run.py文件的代碼

在這里插入圖片描述

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

pip install pyinstaller

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

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

推薦執(zhí)行

pyinstaller -D run.py

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

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

①雙擊后產(chǎn)生如下的黑框框,那么說(shuō)明打包程序沒(méi)有問(wèn)題,可以正常啟動(dòng),這個(gè)時(shí)候可以使用api測(cè)試軟件來(lái)測(cè)試一下程序是否沒(méi)有問(wèn)題。

在這里插入圖片描述

②雙擊后快速?gòu)棾隽撕诳蚩蛑缶拖Я?,說(shuō)明打包程序有報(bào)錯(cuò),沒(méi)有辦法順利啟動(dòng),這個(gè)時(shí)候就需要去找到報(bào)錯(cuò)原因了,

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

在這里插入圖片描述

比如我這里就是產(chǎn)生了如下報(bào)錯(cuò)

在這里插入圖片描述

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

打開(kāi)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=[]中添加對(duì)應(yīng)的函數(shù)庫(kù)(如果項(xiàng)目中有需要用到其他文件夾的時(shí)候也會(huì)報(bào)錯(cuò),那么就在datas=[]中添加就行,示例如下datas=[(“yolo/*”,“yolo”) 意思就是把yolo文件夾打包到程序中)
因?yàn)閯偛攀侨鄙倭薲amageLib.bases.damageState,那么這里就改成hiddenimports=[“damageLib.bases.damageState”]
這個(gè)時(shí)候重新打包需要用到的指令如下(在運(yùn)行過(guò)程中需要輸入‘y’,因?yàn)橐采w之前打包失敗的文件)

pyinstaller run.spec

在這里插入圖片描述

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

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

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

在這里插入圖片描述

之后傻瓜式安裝。

在這里插入圖片描述

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

在這里插入圖片描述

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

相關(guān)文章

  • Python如何實(shí)現(xiàn)自動(dòng)發(fā)送郵件

    Python如何實(shí)現(xiàn)自動(dòng)發(fā)送郵件

    對(duì)于一些每天需要發(fā)的報(bào)表或者是需要一次發(fā)送多份的報(bào)表,我們可以考慮借助Python來(lái)自動(dòng)發(fā)送郵件。本文主要介紹了如何利用Python實(shí)現(xiàn)自動(dòng)發(fā)送郵件,感興趣的小伙伴可以了解一下
    2021-11-11
  • 簡(jiǎn)單的Python調(diào)度器Schedule詳解

    簡(jiǎn)單的Python調(diào)度器Schedule詳解

    這篇文章主要介紹了簡(jiǎn)單的Python調(diào)度器Schedule詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python使用裝飾器模擬用戶(hù)登陸驗(yàn)證功能示例

    Python使用裝飾器模擬用戶(hù)登陸驗(yàn)證功能示例

    這篇文章主要介紹了Python使用裝飾器模擬用戶(hù)登陸驗(yàn)證功能,結(jié)合登錄驗(yàn)證實(shí)例形式分析了裝飾器的簡(jiǎn)單使用技巧,需要的朋友可以參考下
    2018-08-08
  • python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法

    python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法

    今天小編就為大家分享一篇python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • python殺死一個(gè)線(xiàn)程的方法

    python殺死一個(gè)線(xiàn)程的方法

    由于python線(xiàn)程沒(méi)有提供abort方法,所以我們需要自己想辦法解決此問(wèn)題,面對(duì)這一問(wèn)題,小編幫大家解決phthon殺死一個(gè)線(xiàn)程的方法,需要的朋友一起來(lái)學(xué)習(xí)吧
    2015-09-09
  • Python提取PDF中的圖片的實(shí)現(xiàn)示例

    Python提取PDF中的圖片的實(shí)現(xiàn)示例

    本文主要介紹了Python提取PDF中的圖片的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Python怎樣引用其他文件夾下的py文件

    Python怎樣引用其他文件夾下的py文件

    這篇文章主要介紹了Python怎樣引用其他文件夾下的py文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python基礎(chǔ)操作列表切片解析

    python基礎(chǔ)操作列表切片解析

    列表和字符串一樣,列表同樣可以截取和被索引,列表被截取后返回一個(gè)包含所需元素的新列表,List中的元素是可以改變的,需要的朋友可以參考下
    2023-04-04
  • python 實(shí)現(xiàn)圖片批量壓縮的示例

    python 實(shí)現(xiàn)圖片批量壓縮的示例

    這篇文章主要介紹了python 實(shí)現(xiàn)圖片批量壓縮的示例,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2020-12-12
  • python文件讀寫(xiě)操作小結(jié)

    python文件讀寫(xiě)操作小結(jié)

    python文件對(duì)象提供了三個(gè)“讀”方法:?read()、readline()?和?readlines(),每種方法可以接受一個(gè)變量以限制每次讀取的數(shù)據(jù)量,這篇文章主要介紹了python文件讀寫(xiě)小結(jié),需要的朋友可以參考下
    2022-02-02

最新評(píng)論

石家庄市| 巩义市| 阿拉善右旗| 莱阳市| 长治县| 于都县| 石渠县| 娄烦县| 蒙山县| 凤山市| 普定县| 昂仁县| 措勤县| 柳江县| 同仁县| 香格里拉县| 三江| 开封市| 巢湖市| 郯城县| 嘉鱼县| 陵水| 冷水江市| 蓬安县| 长沙市| 永康市| 石泉县| 高青县| 开远市| 从化市| 台北市| 郴州市| 嵊州市| 东源县| 景宁| 广南县| 托里县| 华容县| 古浪县| 广丰县| 织金县|