python程序打包时出现lib not found_pyinstaller打包py脚本Warning:lib not found等相关问题...
小爬從使用Pyinstaller打包py為exe文件以來,一直都會碰到Warning:lib not found等相關(guān)問題,諸如:
雖然大多數(shù)時候,您像我一樣忽略這些warning,打包后的exe也能運行。網(wǎng)上有一堆的方法,有建議裝win7的,也有建議換32位python文件的,有提示下載2G大小的相關(guān)SDK的。總之,就是pyinstaller對目前的win10支持不夠友好!但是網(wǎng)上這些方法代價太高,那么不改win10 X64系統(tǒng),不更改 python版本(3.6.4)的情況下,如何優(yōu)雅地使用pyinstaller且沒有滿屏的warning提示呢?
小爬我經(jīng)過一番摸索,終于找到了方法,pyinstaller提示找不到的這些dll文件,比如?api-ms-win-crt-runtime-l1-1-0.dll其實 在win10系統(tǒng)中同樣是存在的,大部分都在:C:\Windows\System32\downlevel路徑和它的上層路徑C:\Windows\System32 下,如下圖:
我們只需要將這兩個路徑加入用戶環(huán)境變量即可。
添加完環(huán)境變量后,pyinstaller再打包py文件時,會優(yōu)先在這些路徑查找,就可以成功打包了。PS:記得注銷系統(tǒng)重新登陸后,方能生效!
再次打包,頁面清爽多了,win10 X64下親測有效!
PS:需要注意的是,很多時候我們pyinstaller打包py文件雖然顯示“成功”,但是真正運行exe文件,依舊會報錯,諸如fail to execute script之類,終端界面往往一閃而過,我們?nèi)庋酆芏鄷r候甚至看不清具體原因!小爬有個笨方法——錄屏。推薦一個好用的錄屏軟件Ocam。肉眼看上去一閃而過的提示信息會被錄屏軟件完整記錄下來,形成mp4文件,我們再借助播放器的暫停功能,就可以定位到錯誤信息。以下是我執(zhí)行時遇到的幾個錯誤:
這個時候問題就簡單了,比如,上面這兩個圖提示的是,一個找不到模塊distuils,一個提示需要安裝依賴庫xlrd。我們將distuils文件夾從python文件位置對應的lib文件下找到,放到我們的python(env)對應的文件夾下即可,xlrd則直接用pip安裝即可。
ps:如果您要打包的是像我一樣引用了pandas庫的py文件,則程序中盡可能不要直接 import pandas as pd,這樣打包后的exe文件非常大,可以考慮用到什么函數(shù)就引用什么函數(shù),如:
from pandas import read_csv,read_excel,DataFrame,concat
如果您在使用pyinstaller時有這類困擾,快用我的方法再試試吧!
總結(jié)
以上是生活随笔為你收集整理的python程序打包时出现lib not found_pyinstaller打包py脚本Warning:lib not found等相关问题...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 切换主线程_Java线程状态及
- 下一篇: python访问网页变量_Python