亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python 利用Pyinstaller打包Web項(xiàng)目

瀏覽:24日期:2022-07-07 13:39:27

最近需要用python打包一個(gè)單頁(yè)面網(wǎng)頁(yè)demo,于是準(zhǔn)備用python包pyinstaller來(lái)打包程序。網(wǎng)上搜索了一下,大部分教程都是打包非web項(xiàng)目,這里分享一下打包簡(jiǎn)單網(wǎng)頁(yè)demo的過(guò)程。

系統(tǒng)環(huán)境:win10+python3.6

一、安裝pyinstaller

pip install pyinstaller

二、打包項(xiàng)目

1.如果是單文件項(xiàng)目,pyinstaller可以通過(guò)簡(jiǎn)單的命令進(jìn)行python代碼的打包工作,其命令為:

pyinstaller -option ***.py

1.1參數(shù)option可以有多個(gè)值:

-F : 指定打包后只生成一個(gè)exe格式的文件-D : 生成一個(gè)文件目錄包含可執(zhí)行文件和相關(guān)動(dòng)態(tài)鏈接庫(kù)和資源文件等(默認(rèn)選項(xiàng))-c : ?console, ?nowindowed 使用控制臺(tái),無(wú)界面(默認(rèn)選項(xiàng))-w : ?windowed, ?noconsole 使用窗口,無(wú)控制臺(tái)

1.2注意

①再增加一個(gè)命令參數(shù) -w 可以保證點(diǎn)擊生成的exe文件不會(huì)彈出黑色控制臺(tái)窗口

 ②不加 -F 參數(shù)會(huì)生成一堆文件,但是運(yùn)行速度快; 加-F參數(shù)生成一個(gè)exe文件,運(yùn)行起來(lái)慢

2.如果不是單文件項(xiàng)目,而是有多級(jí)目錄(包含一些依賴的靜態(tài)資源),需要自定義打包

本文以打包自己的單頁(yè)面網(wǎng)頁(yè)demo為例,各級(jí)目錄結(jié)構(gòu)如下:

python 利用Pyinstaller打包Web項(xiàng)目

python 利用Pyinstaller打包Web項(xiàng)目

2.1為了進(jìn)行自定義配置打包,需要先輸出配置文件.spec文件,執(zhí)行命令:

pyi-makespec -D -w main.py

注:

-w 參數(shù)是為了保證不會(huì)產(chǎn)生黑色控制臺(tái)窗口

-D 參數(shù)生成一個(gè)文件目錄包含可執(zhí)行文件和相關(guān)動(dòng)態(tài)鏈接庫(kù)和資源文件等(默認(rèn)選項(xiàng),也可以不加)

生成的 main.spec 文件如下:

python 利用Pyinstaller打包Web項(xiàng)目

2.2為了是使打包生成后的exe文件可以加載css、js、圖片等靜態(tài)資源,這里需要添加依賴路徑(注意:要保證自己 html 里面加載靜態(tài)資源的路徑是相對(duì)路徑才行)。具體來(lái)說(shuō),此類資源文件的打包需要設(shè)置Analysis的datas,如下:

python 利用Pyinstaller打包Web項(xiàng)目

2.3執(zhí)行打包命令:

pyinstaller main.spec

成功!

最終結(jié)果:

python 利用Pyinstaller打包Web項(xiàng)目

python 利用Pyinstaller打包Web項(xiàng)目

3.一些報(bào)錯(cuò)

①執(zhí)行打包命令時(shí),報(bào)錯(cuò):RecursionError: maximum recursion depth exceeded

原因:應(yīng)該是python庫(kù)遞歸遍歷太深,超過(guò)了python預(yù)設(shè)的遞歸深度,導(dǎo)致出現(xiàn) “RecursionError: maximum recursion depth exceeded' 的錯(cuò)誤

解決辦法:在spec文件里設(shè)置一個(gè)大點(diǎn)的遞歸深度,在該文件第二行,添加代碼如下:

import syssys.setrecursionlimit(50000)

②python打包pywebview時(shí),可能會(huì)報(bào)錯(cuò):WebBrowserInterop.x64.dll not found

原因:這是由于系統(tǒng)沒(méi)有找到WebBrowserInterop.x64.dll

解決辦法:將WebBrowserInterop.x64.dll文件的所在路徑添加到系統(tǒng)環(huán)境變量里即可!

WebBrowserInterop.x64.dll文件的所在路徑:

python 利用Pyinstaller打包Web項(xiàng)目

添加到系統(tǒng)環(huán)境變量:

python 利用Pyinstaller打包Web項(xiàng)目

4.注意事項(xiàng)

①如果生成的exe文件雙擊無(wú)法正常運(yùn)行,也沒(méi)有報(bào)錯(cuò)提示,此時(shí),如果想看具體報(bào)錯(cuò)信息,就不要直接雙擊執(zhí)行,而是在控制臺(tái)下執(zhí)行。如果這樣還是無(wú)法看到報(bào)錯(cuò)信息,則在打包軟件時(shí)不要使用 -w 參數(shù),這樣在運(yùn)行生成的exe時(shí)就可以彈出黑色控制臺(tái)窗口,從而就可以在黑色控制臺(tái)上面看到報(bào)錯(cuò)信息

②如果要減小打包體積,可以使用conda創(chuàng)建python虛擬環(huán)境,然后只安裝需要的包,最后再進(jìn)行打包,這樣體積會(huì)大大減小

以上就是python 利用Pyinstaller打包Web項(xiàng)目的詳細(xì)內(nèi)容,更多關(guān)于python 打包項(xiàng)目的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产欧美日韩在线不卡第一页 | 成人性爱视频在线观看 | 国产精品偷伦视频免费手机播放 | 99草视频| 欧美在线观看黄色 | 一级毛片一级毛片免费毛片 | 俄罗斯小younv| a级毛片无码免费真人 | 国产高清不卡一区二区 | 粉嫩00福利视频在线精品 | 大美女久久久久久j久久 | 黄色三级视频片 | 国产成人精品午夜二三区 | 狠狠色丁婷婷综合久久 | 老外一级毛片免费看 | 香蕉久久a毛片 | 黄色一级视屏 | 成人女人a毛片在线看 | 黑人视频在线 | 色综合啪啪 | 中国黄色片视频 | 成人免费毛片一区二区三区 | 在线观看免费黄网站 | 成人黄色免费在线观看 | 欧美 日韩 亚洲另类专区 | 国产在线精品美女观看 | 伊人骚| 精品国产日韩一区三区 | 免费一级毛片在线播放欧美 | 99在线精品免费视频 | 国产不卡在线观看视频 | 亚洲精品日本一区二区在线 | 国内拍拍自拍视频在线观看 | 国产一级毛片夜一级毛片 | 国产日产久久 | 国产精品久久久久久久成人午夜 | 国产精品一区在线观看 | 午夜亚洲国产成人不卡在线 | 精品亚洲一区二区在线播放 | 国产毛片网 | 中文字幕专区高清在线观看 |