用Pyinstaller封裝一個(gè)py文件時(shí),過(guò)程沒(méi)有問(wèn)題,但打開(kāi)后會(huì)出現(xiàn)閃退的現(xiàn)象。因此上網(wǎng)找,找到了上面網(wǎng)址所示的解決方法。也就是用cmd打開(kāi)exe文件。
假如我要封裝mani.py,Windows下進(jìn)入文件所在地址,按住shift點(diǎn)擊鼠標(biāo)右鍵打開(kāi)Powershell。
之后出現(xiàn)Powershell的界面,我們打入
pyinstaller -F -w main.py
其中-F會(huì)讓生成的文件只有一個(gè)main.exe(dist文件夾里面),而不是很多個(gè)文件。而原本我們生成的exe文件會(huì)打開(kāi)控制臺(tái)窗口,但是我們的-w選項(xiàng)可以讓控制臺(tái)窗口消失。
一開(kāi)始,我生成的main.exe文件打開(kāi)后會(huì)出現(xiàn)閃退的現(xiàn)象。
我們?cè)趍ain.exe的路徑打開(kāi)Powershell,然后
./main.exe
我記得會(huì)提示缺失了哪個(gè)模塊。其實(shí)在Pycharm可以正常打開(kāi),但是在exe文件中,我們需要再import一個(gè)模塊。我當(dāng)時(shí)提示的是缺失,PyQt5.sip。
在py文件import這個(gè)模塊就可以了。
補(bǔ)充:python 用pyinstaller 封裝exe 雙擊后瘋狂閃退解決辦法
這里我們需要分析問(wèn)題報(bào)錯(cuò)閃退問(wèn)題,如何查看問(wèn)題:
利用 截圖工具或者 QQ截圖快捷鍵 去抓取cmd窗口的閃退里面的內(nèi)容,去查看問(wèn)題。
大部分都是因?yàn)?缺少模塊包 導(dǎo)致的。在這里我想說(shuō)的是網(wǎng)上那種 加 input 和 os.system(“pause”) 還有在cmd命令模式下加 .\***.exe 都是沒(méi)有用的,如果你的代碼真的沒(méi)有input 那的確是要添加。
就算不添加其實(shí)也能在CMD命令窗口中執(zhí)行代碼的緩慢過(guò)程,但 是 不會(huì)閃退的。
1.利用QQ快捷鍵截圖到exe在cmd閃退中代碼。
2.截圖好后,把截圖另存到桌面,方便后續(xù)仔細(xì)查看問(wèn)題
3.打開(kāi)截圖 查看問(wèn)題 ,如果你看不懂其中代碼提示,可以進(jìn)行百度翻譯,主要看 error 這類(lèi)英文后面的命令提示
下面這個(gè)圖是 利用QQ截圖 截圖到的
分析上面主要原因是【看error 后面的提示】:No module named “pandas” ----> 缺少名字為 pandas 模塊
這個(gè)時(shí)候,我們發(fā)現(xiàn)用的編譯器 pycharm 上面明明已經(jīng)安裝了 pandas。
pycharm 和 IDLE 是兩個(gè)python編譯器,你在安裝模塊包的時(shí)候,是通過(guò)pycharm 編譯器安裝的,模塊包默認(rèn)都在項(xiàng)目的venv文件下。
在 IDLE編譯器 里面是沒(méi)有pandas這個(gè)模塊包。就會(huì)導(dǎo)致你在 IDLE(CMD命令模式) 用 pyinstaller 封裝 exe 的時(shí)候會(huì)缺少模塊,在封裝的時(shí)候也沒(méi)有報(bào)錯(cuò),因?yàn)榉庋b時(shí)不檢測(cè)你的程序是否能執(zhí)行,只是單純打包好,就類(lèi)似于壓縮文件。
但是在封裝好后,雙擊 exe 程序時(shí)候會(huì)執(zhí)行命令,就會(huì)提示未識(shí)別到模塊包,導(dǎo)致閃退。如果您在 IDLE命令模式下 執(zhí)行pyinstaller 報(bào)錯(cuò),提示沒(méi)有這個(gè)命令,同理也是一樣。
需要在IDLE 安裝pyinstaller命令是 pip install pyinstaller
所以我們?cè)贗DLE 封裝前要在IDLE模式下安裝好模塊包,執(zhí)行如下命令:
pip install pandas
就完美解決 exe閃退問(wèn)題!
如果需要在IDLE 去安裝pycharm 的模塊包,就需要指定到安裝路徑【路勁為 pycharm 創(chuàng)建項(xiàng)目文件下的 ***\venv\Lib\site-packages\】,舉例為:
pip install --target=D:\python辦公自動(dòng)化\venv\Lib\site-packages pyinstaller
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:拉薩 廊坊 渭南 亳州 綿陽(yáng) 興安盟 黔東 內(nèi)江
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于Pyinstaller閃退的補(bǔ)救措施》,本文關(guān)鍵詞 關(guān)于,Pyinstaller,閃退,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。