報錯信息
最近閑來無事,用python的tkinter庫開發了一款帶日程提醒的萬年歷桌面程序。在程序開發結束開始打包時,卻發現一直報錯
但是運行pip install pypiwin32時卻提示兩個庫都已經安裝過了
可是當再運行打包腳本時就是死活無法打包,就是提示缺少上面兩個依賴庫。
各種度娘發現都沒有遇到類似奇葩情況的。
於是決定自行解決,首先根據錯誤關鍵詞到pyinstaller的源碼中去檢索報錯位置。
最終發現是因為導包問題引起的,兩個依賴庫確實已經安裝只是導入方式不同導致報錯。
解決方案
在python安裝路徑下找到Lib/site-packages/Pyinstaller目錄下有個compat.py文件定位到212行
源碼如下:
做如下修改:將兩個from改為import
然后再重新運行打包腳本,打包成功