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

