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

pyinstaller打包可執(zhí)行程序過程中的常見錯(cuò)誤解決

 更新時(shí)間:2023年11月07日 10:20:57   作者:帶魚工作室  
這篇文章主要介紹了pyinstaller打包可執(zhí)行程序過程中的常見錯(cuò)誤解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

pyinstaller作為一個(gè)優(yōu)秀的三方庫,可以將你的程序打包成為windows可執(zhí)行文件(exe),下面對(duì)使用過程中可能會(huì)出現(xiàn)的問題進(jìn)行解答:

1、打包流程

pyinstaller的打包流程主要可以分成兩部分:

1.1、生成配置文件(xx.spec)

首先在你的電腦上裝好pyinstaller程序庫,通過pip安裝即可,然后進(jìn)入你想打包程序所在的路徑,

例如你想打包pickme.py,使用如下命令生成配置文件:

pyi-makespec pickme.py

然后你就可以在pickme.py的同級(jí)目錄中查看到pickme.spec的文件,該文件是你打包pickme.py文件的配置文件,里面包含打包相關(guān)的所有配置。

1.2、生成可執(zhí)行文件(xx.exe)

1.1執(zhí)行過后,使用如下命令:

pyinstaller pickme.spec

該命令即可將你運(yùn)行pickme.py文件所需的環(huán)境全部進(jìn)行打包,這塊切記:打包過程中生成build與dist文件夾,dist文件夾包含你所打包程序的一個(gè)文件夾,里面包含程序運(yùn)行依賴(相當(dāng)于對(duì)你環(huán)境的備份,確保移植到?jīng)]有環(huán)境的電腦上依然可以使用),例如我的dist文件夾目錄如下:

圖1 dist文件目錄??????

圖1為我進(jìn)行打包時(shí)的示例,我的dist文件夾包含baseline_model_run_new文件夾(是由于我打包的程序名字是baseline_model_run_new.py,具體文件夾名字跟你們打包的程序名字一致),打開baseline_model_run_new文件夾即為圖1所示,由圖1可知,其中包含了紅色框框的exe文件及許許多多依賴文件,這種才是正確的,如果你的dist文件夾中僅有exe文件,那么別人是沒辦法運(yùn)行你的exe文件,因?yàn)闆]有打包環(huán)境,請按照1.1與1.2重新操作。

2、打包程序需要讀取外部數(shù)據(jù)(額外讀取數(shù)據(jù))

在深度學(xué)習(xí)或者機(jī)器學(xué)習(xí)過程中避免不了會(huì)涉及讀取額外的數(shù)據(jù),那么這塊配置不好就會(huì)導(dǎo)致別人運(yùn)行你的exe文件時(shí)出現(xiàn)圖2的效果:

圖2 exe文件數(shù)據(jù)錯(cuò)誤

圖2中展示的是程序需要讀取額外數(shù)據(jù)的錯(cuò)誤,程序在本地運(yùn)行沒有任何問題,但一打包后問題頻出,各種找不到文件,這種問題主要是因?yàn)閿?shù)據(jù)路徑以及配置的問題,直接上代碼說明。

block_cipher = None
a = Analysis(['baseline_model_run_new.py'],    ### 名稱不同
             pathex=[],
             binaries=[],   
             datas=[('train_data.txt','.'),  ('model.pth', '.')],     ### 內(nèi)容不同
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)

上述代碼是spec文件中的部分內(nèi)容,第二行被打包的文件名稱根據(jù)你們所打包的py文件會(huì)自動(dòng)生成,不同的是第五行的datas列表,默認(rèn)它是一個(gè)空列表,需要什么文件得自己添加進(jìn)去,例如我的程序讀取train_data.txt文件,存放位置是:py文件與txt文件同級(jí)目錄存放,那么寫法如上,同時(shí)可能還需要深度學(xué)習(xí)的模型文件,同理可得。

然后保存spec文件,執(zhí)行如下命令:

pyinstaller pickme.spec

重新編譯spec文件,即可打包,打包完成的一定與圖1相似,一定要包含相關(guān)環(huán)境?。?!

3、他人運(yùn)行閃退的問題

你信心滿滿的把打包后的文件發(fā)給同學(xué)時(shí),他一打開就閃退,而你也設(shè)置了input這些,這是為什么呢?這塊是你可能只發(fā)了exe文件,而沒有相關(guān)環(huán)境,此時(shí)把dist文件夾全部壓縮發(fā)給你的同學(xué),再讓他執(zhí)行exe文件即可,避免了閃退的問題 。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python數(shù)據(jù)分析與處理(二)——處理中國地區(qū)信息

    Python數(shù)據(jù)分析與處理(二)——處理中國地區(qū)信息

    這篇文章主要介紹了Python數(shù)據(jù)分析與處理-處理中國地區(qū)信息,上文介紹了北京高考分?jǐn)?shù)線統(tǒng)計(jì)分析,這篇文章依然圍繞Python數(shù)據(jù)分析與處理的相關(guān)資料來介紹處理中國地區(qū)信息,需要的朋友可以參考一下
    2021-12-12
  • Python技巧之四種多線程應(yīng)用分享

    Python技巧之四種多線程應(yīng)用分享

    這篇文章主要介紹了Python中多線程的所有方式,包括使用threading模塊、使用concurrent.futures模塊、使用multiprocessing模塊以及使用asyncio模塊,希望對(duì)大家有所幫助
    2023-05-05
  • Python設(shè)計(jì)模式之觀察者模式原理與用法詳解

    Python設(shè)計(jì)模式之觀察者模式原理與用法詳解

    這篇文章主要介紹了Python設(shè)計(jì)模式之觀察者模式,簡單講述了觀察者模式的概念、原理并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)與使用方法,需要的朋友可以參考下
    2019-01-01
  • Python對(duì)象的生命周期源碼學(xué)習(xí)

    Python對(duì)象的生命周期源碼學(xué)習(xí)

    這篇文章主要為大家介紹了Python對(duì)象的生命周期源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Pytorch模型中的parameter與buffer用法

    Pytorch模型中的parameter與buffer用法

    這篇文章主要介紹了Pytorch模型中的parameter與buffer用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python將QQ聊天記錄生成詞云的示例代碼

    Python將QQ聊天記錄生成詞云的示例代碼

    這篇文章主要介紹了Python將QQ聊天記錄生成詞云的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python編程在flask中模擬進(jìn)行Restful的CRUD操作

    Python編程在flask中模擬進(jìn)行Restful的CRUD操作

    今天小編就為大家分享一篇關(guān)于Python編程在flask中模擬進(jìn)行Restful的CRUD操作,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Pytorch創(chuàng)建隨機(jī)值張量的過程詳解

    Pytorch創(chuàng)建隨機(jī)值張量的過程詳解

    這篇文章主要介紹了Pytorch創(chuàng)建隨機(jī)值張量的過程詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 全面解析Python的While循環(huán)語句的使用方法

    全面解析Python的While循環(huán)語句的使用方法

    這篇文章主要介紹了全面解析Python的While循環(huán)語句的使用方法,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-10-10
  • Python和Java的語法對(duì)比分析語法簡潔上python的確完美勝出

    Python和Java的語法對(duì)比分析語法簡潔上python的確完美勝出

    Python是一種廣泛使用的解釋型、高級(jí)編程、通用型編程語言,由吉多·范羅蘇姆創(chuàng)造,第一版發(fā)布于1991年。這篇文章主要介紹了Python和Java的語法對(duì)比,語法簡潔上python的確完美勝出 ,需要的朋友可以參考下
    2019-05-05

最新評(píng)論

承德市| 万载县| 桑日县| 青阳县| 土默特右旗| 双江| 婺源县| 泗洪县| 莒南县| 夹江县| 祁门县| 新乡市| 若尔盖县| 磐石市| 邵阳县| 资中县| 齐齐哈尔市| 太仆寺旗| 奇台县| 武穴市| 都昌县| 宜宾县| 清远市| 讷河市| 武隆县| 顺义区| 句容市| 荥经县| 姚安县| 酉阳| 府谷县| 闽清县| 东辽县| 苏尼特右旗| 米易县| 泸定县| 南川市| 晋中市| 阿坝| 泰顺县| 枣阳市|