Python通過pyinstaller打包的exe運行閃退和無法啟動的問題踩坑


用PyQt5和QtDesigner寫了個界面化的程序給別人用,同時還涉及到操作excel表格,最后需要打包給那個人用。

最開始的環境是:Anaconda3 +python3.6.13,以及通過pip安裝的pyqt5、openpyxl和pyinstaller。

本機寫好后無異常,但是通過pyinstaller打包時,不管是-F單獨exe文件還是-D單獨目錄模式,最后生成的exe文件都無法啟動。

也嘗試了把PyQt5等第三方庫放到自己的py文件目錄里,但是還是不行,原理上來說,pyinstaller本身就會將所有第三方庫打包,也根本不用這么操作。

 

最后,被這篇文章最后的總結啟發:https://zhuanlan.zhihu.com/p/57435892

環境很重要!

因為我一開始的代碼編寫和打包過程,都是在Anaconda3的虛擬環境中進行的,我嘗試了下把打包后的exe文件通過Anaconda3的虛擬python環境運行,結果是可以運行的!

所以,當我想在windows本身的環境中運行虛擬環境打包的exe文件,自然是不能成功了,大概率是因為一些依賴路徑的錯誤。

所以,解決方法就呼之欲出了。

在windows本身環境中,直接安裝python,運行下看看代碼能不能運行;然后,也在windows原生cmd中用pyinstaller進行打包操作。這樣一來得到的exe文件就能在本機原生cmd環境和他人的機器上運行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM