pyinstaller打包python3.6和PyQt5中各種錯誤的解決方案匯總
前言:
最近在學(xué)習(xí)單片機,老師要求自己寫串口通信的上位機程序,我采用比較簡單的pyqt5+serial模塊來完成任務(wù),pycharm測試一切正常,在用pyinstaller打包時出現(xiàn)了很多錯誤,查詢了很多資料后得到了解決,這里匯總一下解決的方法
1. WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency
2999 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\python\python.exe
3031 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\python\python.exe
3218 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\python\VCRUNTIME140.dll
3312 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\python\VCRUNTIME140.dll
6494 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\python\DLLs_hashlib.pyd
7271 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\python\DLLs\unicodedata.pyd
類似于這種情況就是在python目錄下缺少相關(guān)的ddl文件,而自己的anocoda目錄下是有這些文件的,我的解決辦法是把anaconda目錄下的文件直接復(fù)制到python的目錄下,問題就得到了解決。
考慮到可能有的人沒有下載anaconda,這里我把文件打包下來,大家自取。
2. 打包完成后運行時出現(xiàn) "fail to excute script"
這里是不容易發(fā)現(xiàn)問題的,造成這種問題的原因很多。
在使用PyInstaller打包python程序,打包命令為:
pyinstaller -F -w -i manage.ico yourpyfile.py
順便說一下幾個參數(shù)的作用
- -F:是直接生成單獨的exe文件,不附帶各種依賴文件的。
- -c:生成的exe文件打開方式為控制臺打開。
-w:這個和上面的-c對應(yīng),如果你的程序是有ui的,那就用這個-w。這樣不會出現(xiàn)控制臺,直接是你的ui。
-I:給你的exe文件添加一個圖標(biāo),后面要緊接著你想要的ico文件。
-p:后面緊跟著你要指定的模塊搜索路徑,如果你的模塊安裝的路徑?jīng)]有被PyInstaller自動檢索到的話,就需要自己指定了。
出現(xiàn)“failed to excute script xxx”
這個原因?qū)嵲谑翘嗔耍褪歉嬖V你程序不能運行。如果你是用-w方式打包的,我們這樣不能看出來問題的根源是什么。所以我們還是以-c方式打包exe看一下控制臺輸出的error內(nèi)容是什么。
cmd下運行打包出來的exe
給我報的錯誤是:no modle named "PyQt5.sip"
其實tensorflow這個包我已經(jīng)導(dǎo)入了,而且可以被PyInstaller搜索到。只是它提示我的tensorflow.contirb這個搜索不到,
我猜是版本問題?因為我的tensorflow更新過,最新版的去掉了好多東西,也有一些模塊改了實現(xiàn)方式和名稱。‘
真正的原因我還沒找,但是就先這樣吧,因為我想趕緊把問題解決了。
那就:
pyinstaller -F -I manage.ico yourpyfile.py --hidden-import PyQt5.sip
這樣打包,直接把它想要import的這個子包屏蔽掉了,反正也沒用到。
到這里所有的問題都得到了解決!
總結(jié)
到此這篇關(guān)于pyinstaller打包python3.6和PyQt5中各種錯誤解決的文章就介紹到這了,更多相關(guān)pyinstaller打包python3.6 PyQt5內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python機器學(xué)習(xí)庫scikit-learn安裝與基本使用教程
這篇文章主要介紹了Python機器學(xué)習(xí)庫scikit-learn安裝與基本使用,較為詳細(xì)的介紹了機器學(xué)習(xí)庫scikit-learn的功能、原理、基本安裝與簡單使用方法,需要的朋友可以參考下2018-06-06Python機器學(xué)習(xí)利用鳶尾花數(shù)據(jù)繪制ROC和AUC曲線
這篇文章主要為大家介紹了Python機器學(xué)習(xí)利用鳶尾花數(shù)據(jù)繪制ROC和AUC曲線實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02python中opencv與PIL圖片讀取保存及相互轉(zhuǎn)化方式
這篇文章主要介紹了python中opencv與PIL圖片讀取保存及相互轉(zhuǎn)化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09python3.6.4安裝opencv3.4.2的實現(xiàn)
這篇文章主要介紹了python3.6.4安裝opencv3.4.2的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10淺談matplotlib默認(rèn)字體設(shè)置探索
這篇文章主要介紹了matplotlib默認(rèn)字體設(shè)置探索,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02numpy如何刪除矩陣中的部分?jǐn)?shù)據(jù)numpy.delete
這篇文章主要介紹了numpy如何刪除矩陣中的部分?jǐn)?shù)據(jù)numpy.delete問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02Google colab中從kaggle中接入數(shù)據(jù)的操作方法
這篇文章主要介紹了Google colab中如何從kaggle中接入數(shù)據(jù),本文涉及到兩大平臺內(nèi)容,所以我默認(rèn)你已經(jīng)擁有了,并且使用過了一段時間的google賬號和kaggle賬號,需要的朋友可以參考下2024-03-03