pyinstaller發布exe,彈出Failed to execute script main


1.在PyCharm中按Alt+F12打開Terminal對話框

1.1我的項目文件放在wxpython目錄下,D:\learn\Weather index insurance\wxpython>pyinstaller -F -w teaindex_main.py 

1.2運行結束后在D:\learn\Weather index insurance\wxpython目錄下生成dist文件夾和build文件夾,我的exe程序在dist文件夾下,雙擊exe彈出:

1.3重新在Terminal對話框中,運行D:\learn\Weather index insurance\wxpython>pyinstaller -F -c teaindex_main.py ,運行exe,可以看到問題所在,缺少module typedefs

應該使用:pyinstaller -F -c demo.py  此時打包完成后,點擊exe執行文件,如果有報錯的話,將在控制台顯示。這是,要做好截圖的准備,因為控制台報錯后是一閃而過的。

1.4查閱網上的解決方法

將打包代碼改成:

D:\learn\Weather index insurance\wxpython>pyinstaller -F -c teaindex_main.py --hidden-import sklearn.neighbors.typedefs

問題解決了!成功生成可以運行的exe文件

1.5生成帶圖標的程序D:\learn\Weather index insurance\wxpython>pyinstaller -F -w -i sunny.ico teaindex_main.py --hidden-import sklearn.neighbors.typedefs

 1.6在打包時會出現問題Cannot find existing PyQt5 plugin directories ,具體截圖如下

 

解決辦法:

  • 用everything搜索PyQt5,找到 /Library/plugins路徑下的PyQt5文件夾,將里面的dll動態庫pyqt5qmlplugin.dll復制出來
  • 按照錯誤提示的路徑,一個個的新建文件夾,形成目錄C:\qt5b\qt_1524647842210\_h_env\Library\plugins,將剛才復制出來的dll動態庫拷貝進去即可

1.7 如果除了缺少上面那個模塊,還缺少No module named 'sklearn.utils._cython_blas',在最后加上這個模塊如下所示。

pyinstaller -F -w teaindex_main.py --hidden-import sklearn.neighbors.typedefs --hidden-import sklearn.utils._cython_blas

 

 

 


免責聲明!

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



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